Herança e Polimorfismo(Resumo)
Resumo
Herança
É um princípio da Programação Orientada a Objetos que permite a criação de novas classes a partir de outras previamente criadas, ou seja, é uma classe derivada de outra classe.
- Subclasses ou derivadas -> novas classes;
- Superclasses ou Classes base -> Classes já existentes que deram origem às subclasses.
Uma subclasse herda métodos e atributos de sua superclasse podendo escrevê-los novamente para uma forma mais específica para representar o comportamento do método herdado.
Para fazer uma classe herdar características de outra usamos o método extends logo após o nome da definição da classe. class NomeClasseCriada extends NomeClasseHerdada class Animal { String nome; String reino; String filo; String classe; String ordem; public Animal(String nome, String reino, String filo, String classe, String ordem){ this.nome = nome; this.reino = reino; this.filo = filo; this.classe = classe; this.ordem = ordem; } // métodos
}
class Morcego extends Animal{ Double tamanho; String cor; Double peso;
Public Morcego(Double tamanho, String cor, Double peso, String nome, , String reino, String filo, String classe, String ordem){ this.tamanho = tamanho; this.cor = cor; this.peso = peso; }
//(...)
}
Em Java é permitido que uma classe herde apenas as características de uma única classe, não podendo haver heranças múltiplas. Contudo, é permitido heranças em cadeias. Exemplo:
A classe Mamífero herda a classe Animal, a classe Cachorro herda a classe Mamífero, portanto, a classe Cachorro também herdará as características da classe Animal.
Trabalhando com o método de herança, cada classe tem o seu método construtor. Trabalhando com duas