Extends em Orientação a Objetos
Uma classe pode herdar atributos e métodos de uma subclasse, podemos implementar a herança no Java através da palavra reservada extends na declaração da classe.
Essa afirmação está correta, incorreta ou redundante?
Essa afirmação está correta, incorreta ou redundante?
Elias Higor
Curtidas 0
Melhor post
Daniel Araújo
13/06/2019
Obrigado pela resposta! Mas nesse caso, a palavra "classe" pode ser uma sub ou super classe na sua opinião?
Pois se ela for uma subclasse da subclasse ela poderá herdar seus métodos e atributos, mas levando em consideração o mesmo pensamento se ela for uma superclasse não herdará.
Pois se ela for uma subclasse da subclasse ela poderá herdar seus métodos e atributos, mas levando em consideração o mesmo pensamento se ela for uma superclasse não herdará.
Elias, o que vai dizer se uma classe é super ou sub é o contexto. Veja o seguinte exemplo:
public class Animal{ } public class Mamifero extends Animal { } public class Felino extends Mamifero { }
Se analisarmos a relação entre Animal e Mamifero, Animal é a superclasse e Mamifero é a subclasse. Se formos analisar a relação entre Mamifero e Felino, Mamifero passaria a ser superclasse. Então tudo vai depender do contexto. O que é certo é que uma classe jamais herda da sua subclasse. Animal não pode herdar nada de Mamifero e Mamifero não pode herdar nada de Felino. Fui mais claro agora?
GOSTEI 1
Mais Respostas
Alex William
12/06/2019
Olá amigo, tudo bem?
Acredito que esteja incorreta, pois é a subclasse que herda da classe pai/SuperClasse os metodos e atributos.
Espero ter ajudado. :D
Acredito que esteja incorreta, pois é a subclasse que herda da classe pai/SuperClasse os metodos e atributos.
Espero ter ajudado. :D
GOSTEI 0
Elias Higor
12/06/2019
Obrigado pela resposta! Mas nesse caso, a palavra "classe" pode ser uma sub ou super classe na sua opinião?
Pois se ela for uma subclasse da subclasse ela poderá herdar seus métodos e atributos, mas levando em consideração o mesmo pensamento se ela for uma superclasse não herdará.
Pois se ela for uma subclasse da subclasse ela poderá herdar seus métodos e atributos, mas levando em consideração o mesmo pensamento se ela for uma superclasse não herdará.
GOSTEI 0
Alex William
12/06/2019
Olá, amigo.
Acho que não especifiquei bem o que eu quis dizer.
Realmente seu levantamento tem validade, voce pode ter uma subclasse de uma subclasse, por exemplo:
Nesse caso temos uma subclasse de uma subclasse.
O que eu quis dizer é que voce não pode extender uma classe de uma subclasse dela mesma. Ex:
Não sei se a linguagem permite isso, mas em termos de fluxo e herança, ficaria redundante extender desta forma.
Espero ter ajudado. :D
Acho que não especifiquei bem o que eu quis dizer.
Realmente seu levantamento tem validade, voce pode ter uma subclasse de uma subclasse, por exemplo:
Class Teste{} Class TesteUm extends Teste{} Class TesteDois extends TesteUm{}
Nesse caso temos uma subclasse de uma subclasse.
O que eu quis dizer é que voce não pode extender uma classe de uma subclasse dela mesma. Ex:
Class Teste{} Class TesteUm extends Teste{} Class TesteDois extends TesteUm{} // Aqui acredito que não possa ocorrer Class Teste extends TesteUm{}
Não sei se a linguagem permite isso, mas em termos de fluxo e herança, ficaria redundante extender desta forma.
Espero ter ajudado. :D
GOSTEI 0
Alex William
12/06/2019
Olá, amigo.
Acho que viajei um pouco na minha ultima resposta com relação aos exemplos.
O exemplo 2 nem teria como ocorrer. Mas voce esta correto, pode haver uma subclasse de uma subclasse como no exemplo 1. Ignore o exemplo 2, porque eu viajei na maionese kkkkkkkkk.
Espero ter ajudado. :D
Acho que viajei um pouco na minha ultima resposta com relação aos exemplos.
O exemplo 2 nem teria como ocorrer. Mas voce esta correto, pode haver uma subclasse de uma subclasse como no exemplo 1. Ignore o exemplo 2, porque eu viajei na maionese kkkkkkkkk.
Espero ter ajudado. :D
GOSTEI 0