Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Atividade 6 - Dominando herança - Item 4 parece impreciso/errado

Me parece que o item 4 esta na verdade, a rigor, errado, diferentemente do que a resposta do exercício sugere.

4) No exemplo abaixo, Cachorro também herda tudo da classe Animal:

Na verdade me parece que o correto seria dizer que Cachorro também herda tudo que é "público", "protected" e "default" ( este ultimo se estiver na mesma package) da classe Animal.

Meu entendimento é que o que é privado não é herdado (nem pode ser acessado diretamente, nem alterado diretamente, nem sobrescrito (no caso de métodos)).

Inclusive na explicação da questão diz "Pode-se sim chamar qualquer método da classe mãe.". Isso não parece correto, pois não é possivel chamar métodos private da classe mãe, e nem métodos com visibilidade default se a classe filha não estiver no mesmo pacote da classe mãe.

1 resposta
solução!

Oi Kaio,

O que você comentou faz sentido, mas é que o comum é assumir que quando falamos herdar tudo, o tudo se refere às coisas que podem ser herdadas, ou seja, todos os atributos(inclusive os private, pois as classes filhas herdam atributos private. Apenas não podem acessá-los diretamente) e todos os métodos(exceto os que são private).

Mas realmente não ficou implícito na questão que estamos assumindo isso.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software