Herança

Bem tenho algumas dúvidas sobre herança, sempre as classes que eu devirar da principal vão ser as filhas…?? eu posso herdar atributos
private de uma classe principal…??se eu tiver um método em uma classe
principal eu posso herdar esse método para dezenas de outras classes?
se eu tiver uma classe exemplo:

                          Animal
                        -----------
                      + comerComida()
                      +proCriar()    
                  /                             \
  
       Galinha                         Vaca
     -----------                     ---------------
     +Carcarejar()              +Mugir()
     +porOvo()                   +comerComida()

a classe vaca está herdando a classe Animal mais ambas tem o método
comer comida ai como fica esse situação?

Private não apenas protected…
Sim, pode herdar pra dezenas, se for abstract vc pode sobreescrever… :slight_smile:

Neste caso especifico sempre sera chamado o metodo da classe “Vaca”, mesmo que a variavel de referencia que esteja sendo utilizada do tipo “Animal”, porem apontando para um objeto “Vaca”:

Animal a = new Vaca();
a.comerComida(); //Sera chamado o metodo da classe Vaca.

caso em “Vaca” seja necessario usar o metodo comerComida() de “Animal”, so colocar dentro do corpo do metodo na classe filha “super.comerComida”, assim ele chamara o metodo do pai, e a implementação especifica do filho, espero ter ajudado.

[quote=paulorb.pacheco]
Sim, pode herdar pra dezenas, se for abstract vc pode sobreescrever… [/quote]
Por que SE for abstract ENTÃO ele pode sobrescrever? Não entendi este condicionamento…

[quote=Mantu][quote=paulorb.pacheco]
Sim, pode herdar pra dezenas, se for abstract vc pode sobreescrever… [/quote]
Por que SE for abstract ENTÃO ele pode sobrescrever? Não entendi este condicionamento…[/quote]

Mantu,

O que eu quiz dizer foi o seguinte, que o método abstract de uma classe mãe tem que ser reescrito, sendo que a classe mãe tem que ser abstrata. Se algo for difente disso, ae eu não sei… hehehehe
Até onde conheço é isso…
Foi malz… expliquei mal mesmo…
flw :shock:

Ah tá, eu pensei que você estivesse se referindo à classe ser abstrata… :XD: