Este artigo fornece uma visão geral detalhada dos seguintes conceitos sobre os tipos de herança em Java:
Então vamos começar!
Herança única
No caso de herança única, existe apenas uma classe pai e uma classe infantil e a classe infantil pode acessar os atributos e funções da classe da classe pai. Temos que cuidar de atributos de classe e métodos de classe para que não haja um conflito entre membros da classe de pais e filhos.
Sintaxe
A sintaxe básica da herança única será assim:
classe pública paiO estende -se palavra -chave indica que as propriedades de Classe de pai são herdados para o Classe infantil.
A figura abaixo dada fornecerá uma melhor compreensão da herança única:
Existem apenas duas classes:
Classe infantil: pode herdar todos os atributos e métodos do Classe de pai E não tem subclasse.
Classe de pai: é uma superclasse herdada por Classe infantil.
Exemplo
No trecho de código abaixo, criamos três classes: um Pessoa classe estendida por Estudante classe e um “JavainHeritance”Classe onde criamos o principal método:
classe de classeA figura abaixo é dada mostra o código completo junto com sua saída:
Na figura acima, um método de classe de pessoa é chamado com o objeto da aula de estudante e a saída mostra que funciona corretamente.
Herança hierárquica
Várias classes podem ser estendidas de uma classe em herança hierárquica i.e. um pai pode ter várias classes infantis.
A sintaxe básica da herança hierárquica é mostrada no snippet abaixo do rumo
classe pública paiO trecho acima mencionado mostra que as duas classes derivadas i.e. Child1 e Child2 pode herdar as propriedades do Pai aula.
A figura abaixo é dada mostra o fluxo de herança hierárquica:
Exemplo
classe de classeDo trecho acima, podemos observar que ambos Funcionário e Estudante As aulas são herdadas pelo Pessoa Aula. Então, primeiro, temos que criar os objetos de ambas as classes individualmente, então seus respectivos atributos podem ser acessados através de seus objetos.
O código completo e a saída resultante são mostrados na figura a seguir:
A captura de tela acima mostra que ambas as classes acessaram os atributos do Pessoa classe que autentica o funcionamento da herança hierárquica.
Herança multinível
Na herança multinível, a herança é realizada na base de nível, i.e. Uma classe pode herdar as propriedades de outra classe que já é herdada de outra classe.
Sintaxe
A sintaxe básica da herança multinível é mostrada no snippet abaixo:
classe pública paiA figura abaixo dada fornecerá uma compreensão profunda da herança multinível:
Na figura acima mencionada, o Child1 A classe é uma classe derivada do Pai Classe e Child2 classe é a classe derivada de Child1. Então, podemos dizer que o Child2 A classe é um neto do Pai aula. Dessa forma, a herança multinível funciona em java.
Exemplo
Este exemplo cria quatro classes: primeiro é “Pessoa”A classe Second One é“Estudante”Classe que herda a“Pessoa”A classe e a terceira é“Departamento”Classe que herda a“Estudante" aula. A quarta classe é “JavainHeritance” que mantém o método principal:
classe de classeNo trecho acima, podemos observar que uma subclasse Estudante de aula Pessoa tem uma aula infantil Departamento o que garante que é um exemplo de herança multinível. A figura abaixo é dada fornece o código completo e a respectiva saída da herança multinível:
A saída acima mencionada autentica que o Departamento classe pode acessar os atributos de Pessoa Classe através Estudante aula. Que valida o funcionamento da herança multinível.
Conclusão
O Java fornece diferentes tipos de herança que podem ser usados para propósitos diferentes, dependendo dos diferentes cenários e necessidades do usuário, por exemplo, em herança única, apenas uma única classe é estendida da superclasse. Na herança hierárquica, uma superclasse pode ter várias subclasses. Enquanto, em herança multinível, uma subclasse de uma classe pai também pode ter uma classe infantil. Este artigo apresenta uma visão geral completa dos tipos de herança e apresenta uma compreensão profunda de herança única, multinível e hierárquica, sua sintaxe e como implementá-los em java.