Trabalho de Java
O que é herança?
É a reutilização do software por uma classe (classe-filha ou subclasse) absorvendo membros de outra classe (classe-pai ou superclasse) .
Ex.: Tendo as classes:
Cachorro
Gato
Pássaro
nome : String peso : double nome : String peso : double nome : String peso : double comer() : void dormir() : void latir(): void comer() : void dormir() : void miar(): void comer() : void dormir() : void voar(): void
Podemos criar uma superclasse Animal com os atributos e métodos que são comuns para as três classes e a partir daí as classe herdarão essas características da superclasse
Animal
nome : String peso : double comer () : void dormir () : void Cachorro
Gato
Pássaro raça: String
raça: String tipo : String
latir(): void
miar(): void
voar(): void
Neste caso, as classes Cachorro, Gato e Pássaro “herdam” da classe Animal o nome, o peso e os métodos comer () e dormir(), mas também possuem atributos e métodos próprios (latir() para o Cachorro, miar() para o Gato e voar() para o Pássaro.
A seguir analisaremos os códigos:
Classe Cachorro
public class Cachorro extends Animal { public void latir(){ System.out.println("au, au"); }
}
Classe Gato public class Gato extends Animal { public void miar(){ System.out.println("miau, miau"); }
}
Classe Pássaro
public class Passaro extends Animal{ public void voar(){ System.out.println("flap, flap, flap"); }
}
Em todas as classes, na sua declaração informamos pelo extends que elas herdam os atributos e métodos da classe Animal, além de possuir métodos próprios. As classes-filhas poderiam ter também atributos próprios, como segue o exemplo da classe Cachorro com a definição de um atributo e um método próprio.
public class Cachorro extends Animal { String raça; public void latir(){ System.out.println("au, au"); }
}
A seguir criaremos um código de teste para ver o