O que é herança em Java?

Quando se trata de Java, a Herança pode ser usada quando uma classe deseja herdar as características de outra classe existente. A classe que geralmente deseja utilizar o recurso de outra classe é conhecida como subclasse, enquanto a classe cujos recursos precisam ser utilizados é conhecida como superclasse.

Na verdade, em Java, todas as classes devem ser derivadas de alguma classe. Isso leva à consulta "Onde tudo começará?" A classe superior, a classe que as outras classes derivam, é uma classe Object descrita em java.lang. O objeto é a raiz de uma estrutura de classes

A figura abaixo mostra esses dois tipos de classes:

A subclasse segue condição e comportamento, como variáveis ​​e métodos da superclasse. A subclasse pode usar apenas os itens herdados da superclasse, e também a subclasse pode alterar ou substituir isso. Portanto, à medida que você entra na hierarquia, as classes se tornam mais e mais específicas:

Herdando de Object

Toda classe herda diretamente da classe Object

No diagrama acima

public class Atacadista estende o Objeto (…… ..)

O varejista de classe pública estende o atacadista (…… ..)

matéria-prima de classe pública (…………)

A palavra-chave extends mostra a classe pai da qual a subclasse geralmente é herdada e não pode ser aplicada como identificador

Na classe pública, Raw-Material, não há necessidade de estender a palavra-chave, pois está acessando diretamente a classe Object.

Definição de herança de Java

Uma subclasse é uma classe que vem de outra classe. Uma subclasse segue a condição e o comportamento de todos os seus ancestrais. A superclasse de conceito identifica o ancestral direto de uma classe e todas as suas classes ascendentes.

Entendendo a herança de Java com um exemplo

A herança descreve o relacionamento é uma relação entre uma superclasse e uma subclasse. Estende e implementa termos-chave, preferindo expressar herança em Java.

Existem diferentes tipos de herança Java conforme abaixo.

  1. Herança única
  2. Herança multinível
  3. Herança Hierárquica
  4. Herança múltipla
  5. Herança Híbrida

  • Herança única

Se uma classe estende uma classe adicional, essa forma de herança é chamada herança de nível único.

public class A (
………..
)
public class B extends A (
………..
)

A classe B estendeu a classe A e, portanto, a classe B usa o método displayA () da classe A porque é um método próprio.

  • Herança multinível

Se uma classe estende uma classe adicional, que pode ser estendida por simplesmente uma classe adicional, essa forma de herança é chamada de herança multinível.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends B ( ……………… )

Resultado

A classe A é estendida simplesmente pela classe B e, em seguida, a classe B é estendida pela classe C, que fornece à classe C acesso direto ao método displayA () e displayB () da classe A e também B simplesmente obtendo esses um objeto da classe C (sem precisar gerar objetos da classe A e B).

  • Herança Hierárquica

Quando duas classes herdam a mesma classe, isso é conhecido como herança hierárquica. Por exemplo, as classes B e C estendem a mesma classe A.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends A ( ……………… )

Se uma classe tiver mais de uma classe filho (subclasses), bem como basicamente mais de um filho, tiver uma classe pai semelhante, simplesmente esse tipo de herança será chamado de herança hierárquica.

Estamos escrevendo um código em que as classes B e C estendem a classe A

  • Herança múltipla

A sintaxe da herança múltipla

public class A ( ……………… )
public class B extends A ( ……………… )
public class D extends A, B, C ( ……………….. )

Nota: Herança múltipla não suportada em java.

Java não suportaria várias heranças. Isso ocorre porque várias heranças causam ambiguidade e, portanto, o Java não a utiliza. A edição de diamantes ajuda na compreensão desse cenário.

No entanto, várias heranças em Java podem ser realizadas usando interfaces. Independentemente de muitas quantidades de interfaces em uma classe com um método exato, não há indicação de ambiguidade, pois os métodos em uma interface geralmente são abstratos.

A outra maneira é usar interfaces. As interfaces começarão a se tornar importantes.

Uma interface especifica a forma de seus métodos, mas não fornece detalhes de implementação; portanto, você pode pensar nisso como a declaração de uma classe.

você pode criar a interface com a palavra-chave interface:

interface C
(
…………………………
)
interface b
(
…………………….
)
class a implements b, c
(
………………………
)

Podemos usar essas duas interfaces com a palavra-chave implementements:

  • Herança Híbrida

A herança híbrida é principalmente uma mistura de mais de um tipo de herança. Por exemplo, quando as classes A e B estendem a classe C Plus, uma outra classe D estende a classe A, depois disso, pode ser uma herança híbrida, pois é a variedade de herança única e hierárquica.

Resultado

Interrompendo a herança com a palavra-chave final

Você pode impedir que a classe seja subclasse, declarando toda a classe final, conforme abaixo

final class animal
(
public void breathe()
(
System.out.println("Breathing…");
)
)
class dog extends animal
(
public void breathe()
(
System.out.println("Barking…");
)
)
public class history
(
public static void main(String() args)
(
System.out.println("Creating an animal…");
animal a = new animal();
a.breathe();
System.out.println();
System.out.println("Creating an bulldog…");
dog d = new dog();
d.breathe();
)
)

Se você tentar executar este código:

Não é possível subclassificar as classes finais: class animal class dog estende o erro animal 1 gerado.

Criando constantes com a palavra-chave final

Para impedir a substituição do método e para evitar subclassificação. Há outro uso para final em Java, você pode usá-lo para declarar constantes.

Conforme código abaixo:

public class history
(
Public static void main(String() args)
(
final int a = 4;
a = 5;
)
)

Se você tentar executar este código:

Não é possível atribuir um valor a uma variável final: um 1 erro gerado

Principais empresas de herança de Java

  1. Intel
  2. Mercadorias VM
  3. Adobe
  4. Nvidia
  5. Amazonas
  6. Cisco
  7. Akamai
  8. Eletrônicos da Philips.
  9. IBM
  10. SEIVA

Vantagens da herança Java

Considerado um dos principais recursos da herança, é usado para diminuir a quantidade de código duplicado em um formulário de aplicativo, compartilhando o código comum entre muitas subclasses. Onde código igual pode ser obtido em duas classes relacionadas, a hierarquia normalmente pode ser refatorada para transferir o código comum para uma superclasse mútua. Isso resultará em uma organização superior do código, bem como em unidades de compilação mais fáceis de tamanho menor.

  • Herança : ele pode criar código de aplicativo muito mais adaptável para modificar simplesmente porque as classes que herdam de uma superclasse padrão podem ser usadas de forma intercambiável. Quando o tipo de retorno de um procedimento é a superclasse.
  • Reutilização - capacidade de gerenciar métodos públicos de uma classe base sem reescrever o similar.
  • Extensibilidade - estendendo a lógica da classe base de acordo com a lógica de negócios da classe derivada.
  • Ocultar dados - a classe base pode querer manter alguns dados privados, para que nunca sejam modificados pela classe derivada.
  • Substituindo - Com herança, podemos substituir os métodos da classe base para que uma implementação importante do método da classe base possa ser concluída na classe derivada.

Por que devemos usar a herança de Java?

A herança é um conceito de programação eficaz, mas pode ser simples de usar de forma inadequada. Geralmente, as interfaces são efetivamente mais eficientes.

A herança é a melhor escolha quando:

  • Sua hierarquia de herança significa um relacionamento "is-a", mas não um relacionamento "has-a".
  • Você pode reutilizar o código das classes base.
  • Pode ser necessário aplicar a classe e maneiras semelhantes a tipos de dados distintos.
  • A hierarquia de classes é bastante superficial, juntamente com outros desenvolvedores não devem realmente contribuir com muito mais fases.
  • Você deseja criar variações globais para classes derivadas modificando uma classe base.

Por que precisamos da herança Java?

A herança de Java é um conceito de OOP (programação orientada a objetos). O principal objetivo da herança é sempre criar uma certa parte do código do seu projeto reutilizável, com a possibilidade de adicionar ou eliminar os recursos selecionados posteriormente. Uma classe filho pode herdar ou substituir métodos selecionados da classe pai que herdou; são os métodos sem trocar a classe pai por si só. Isso pode incluir seus próprios métodos novos que geralmente não são encontrados na classe filho.

  • Encapsulamento: quando envolvemos alguns atributos regulares, depois disso os encapsulamos em uma classe pai e simplesmente fornecemos atributos específicos para as classes filho.
  • Polimorfismo : Poderíamos utilizar o polimorfismo com herança em Java. Para garantir, de acordo com a forma da classe Child, a classe exata age de uma maneira diferente.
  • Reutilização de código : a aplicação de herança pode ser útil para reutilizar o código.
  • Eficiência : Pode ser eficaz aplicar Herança ao escrever código. Isso poderia aumentar a velocidade da tarefa.

Da mesma forma que na vida real, uma criança pode herdar recursos selecionados de seus pais e, através de variações ambientais selecionadas, desenvolver novos recursos ou eliminar recursos que obteve de seus pais.

Qual é o público certo para aprender as tecnologias Java Inheritance?

Ao pensar sobre o que deve ser feito com o Java Inheritance, vários desenvolvedores pensam em criar:

Desenvolvedor Android -

O Android é o sistema operacional móvel mais eficaz no mercado competitivo de hoje, com mais de 1, 5 milhão de novos dispositivos ativados por dia. O treinamento para Android oferece experiência prática na criação e na construção de aplicativos Android fáceis e complexos, garantindo proficiência na aquisição do trabalho de TI dos seus sonhos. Você pode ter um excelente histórico em programação, mas o treinamento no Android beneficiará você, aprimorando suas habilidades.

Definitivamente, o Android está crescendo; assim, quando você aprender os princípios fundamentais e os recursos, seu conjunto de habilidades crescerá correto além dele. Os desenvolvedores podem criar jogos e aplicativos para usuários do Android e espalhá-los por um mundo aberto. O treinamento para Android está entre os fatos mais inteligentes que um desenvolvedor pode realizar, por isso possui muitos benefícios.

Desenvolvedor de IoT -

Você pode ouvir bastante sobre a Internet das Coisas (IoT) no momento. A IoT está presente, desde sensores em enormes máquinas industriais em dispositivos de casas inteligentes, como câmeras de segurança digitais. Basicamente, você sabia que o popular termostato Nest dependerá de uma combinação notável de Java e AI? Algumas máquinas de venda inteligente dependem do Java, trabalhando com o software para rastrear inventário, temperatura, umidade e região. Além disso, vários aplicativos de tecnologia vestíveis são projetados na herança em Java.

Análise de Big Data -

Atualmente, a análise de big data está no centro de um dos usos mais interessantes da tecnologia. Estudos de pesquisa em vários setores-chave estão aplicando técnicas inovadoras de análise de dados para aprender novos padrões em grandes volumes de dados e também descobrir melhor processos complexos.

Sistemas Embarcados -

Os sistemas embarcados, desde pequenos chips até computadores especializados, são na verdade componentes de dispositivos eletromecânicos maiores, executando tarefas comprometidas. Muitos dispositivos, como cartões SIM, players de disco blue-ray, medidores de utilidade e aparelhos de televisão, usam soluções Java incorporadas. Segundo a Oracle, 100% dos leitores de discos Blu-ray e 125 milhões de dispositivos de televisão utilizam o Java.

Como essa tecnologia o ajudará no crescimento da carreira?

Java está entre a linguagem de programação mais importante e essencialmente usada no mundo da Tecnologia da Informação. Além disso, Java é uma linguagem de programação fundamental que uma nova também pode aprender facilmente. Conforme o relatório do Oracle Java, é executado em mais de 3 bilhões de dispositivos ..!

Java é uma linguagem de programação sempre-verde. Quase todas as empresas conhecidas, incluindo IBM, Infosys, CTS e TCS, estão aplicando Java como sua linguagem de programação ideal.

Hoje, os desenvolvedores existentes do Java Trend podem brincar estão listados abaixo,

  1. Java com Selenium Automation Tester
  2. Java com DevOps
  3. Java com desenvolvimento Hadoop

Conclusão

A herança é uma arma poderosa de Java que pode ajudar a ter sucesso na linguagem mais adequada. Isso pode ajudar a minimizar a duplicação de código e reduzir os erros. Com o código definido na classe pai, não é mais possível escrever código semelhante para muitas classes filho com as mesmas características. Portanto, a herança em Java executa a reutilização do código para garantir certamente uma melhor facilidade de acesso aos usuários finais.

Artigos recomendados

Este foi um guia para o que é herança em Java. Aqui discutimos o conceito básico, as habilidades necessárias, o crescimento da carreira e as vantagens da herança em Java. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. O que é inteligência artificial
  2. O que é JavaScript?
  3. O que é HTML?
  4. O que é o Azure?
  5. Palavra-chave final em Java