Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Herança em Java OOPs:Aprenda todos os tipos com exemplo

O que é herança?


Herança é um mecanismo no qual uma classe adquire a propriedade de outra classe. Por exemplo, uma criança herda os traços de seus pais. Com herança, podemos reutilizar os campos e métodos da classe existente. Assim, a herança facilita a reutilização e é um conceito importante de POO.

Neste tutorial, você aprenderá-

Tipos de herança


Aqui estão os diferentes tipos de herança em Java:

Herança única:


Na Herança Simples, uma classe estende outra classe (apenas uma classe).





No diagrama acima, a Classe B estende apenas a Classe A. A Classe A é uma superclasse e a Classe B é uma Subclasse.

Herança múltipla:


A herança múltipla é uma das heranças em tipos Java onde uma classe estende mais de uma classe. Java não suporta herança múltipla.





De acordo com o diagrama acima, a Classe C estende tanto a Classe A quanto a Classe B.

Herança em vários níveis:


Na Herança Multinível, uma classe pode herdar de uma classe derivada. Portanto, a classe derivada se torna a classe base para a nova classe.





Conforme mostrado no diagrama, a classe C é uma subclasse de B e B é uma subclasse de classe A.

Herança hierárquica:


Na Herança Hierárquica, uma classe é herdada por muitas subclasses.





Conforme o exemplo acima, as classes B, C e D herdam a mesma classe A.

Herança híbrida:


A herança híbrida é um dos tipos de herança em Java, que é uma combinação de herança simples e múltipla.





Conforme o exemplo acima, todos os membros públicos e protegidos da Classe A são herdados na Classe D, primeiro pela Classe B e depois pela Classe C.

Observação: Java não suporta herança híbrida/múltipla

Herança em Java


Herança Java é um mecanismo no qual uma classe adquire a propriedade de outra classe. Em Java, quando existe um relacionamento “Is-A” entre duas classes, usamos Herança. A classe pai é chamada de superclasse e a classe herdada é chamada de subclasse. A palavra-chave extends é usado pela subclasse para herdar as características da superclasse.

A herança é importante, pois leva à reutilização do código.

Sintaxe de herança Java:
class subClass extends superClass  
{  
   //methods and fields  
}  

Exemplo de herança Java


Aqui está um exemplo de herança em Java:




Exemplo de herança Java


class Doctor {
 void Doctor_Details() {
  System.out.println("Doctor Details...");
 }
}

class Surgeon extends Doctor {
 void Surgeon_Details() {
  System.out.println("Surgen Detail...");
 }
}

public class Hospital {
 public static void main(String args[]) {
  Surgeon s = new Surgeon();
  s.Doctor_Details();
  s.Surgeon_Details();
 }
}

Superpalavra-chave


A palavra-chave super é semelhante à palavra-chave “this”.

A palavra-chave super pode ser usada para acessar qualquer membro de dados ou métodos da classe pai.

A palavra-chave Super pode ser usada em nível de variável, método e construtor.

Sintaxe:
super.<method-name>();

Aprenda a Herança em OOPs com Exemplo


Considere o mesmo aplicativo bancário do exemplo anterior.

Devemos abrir dois tipos de contas diferentes, uma para poupança e outra para verificação (também conhecida como corrente).



Vamos comparar e estudar como podemos abordar a codificação de uma perspectiva de programação estruturada e orientada a objetos.

Abordagem estrutural :Na programação estruturada, criaremos duas funções –

  1. Um para retirar
  2. E outro para ação de depósito.

Uma vez que o funcionamento dessas funções permanece o mesmo em todas as contas.



Abordagem da OOP :Ao usar a abordagem de programação OOPs. Criaríamos duas classes.

  • Cada um com implementação das funções de depósito e retirada.
  • Isso resultará em trabalho extra redundante.


Solicitação de alteração no software


Agora há uma mudança na especificação de requisitos para algo tão comum na indústria de software. Você deve adicionar funcionalidade de conta bancária privilegiada com facilidade de cheque especial. Para um fundo, o cheque especial é uma facilidade onde você pode sacar um valor superior ao disponível do saldo em sua conta.



Abordagem estrutural: Usando uma abordagem funcional, tenho que modificar minha função de retirada, que já foi testada e baseada. E adicionar um método como abaixo cuidará de novos requisitos.



Abordagem da OOP: Usando a abordagem OOP, você só precisa escrever uma nova classe com implementação exclusiva da função de retirada. Nós nunca tocamos no pedaço de código testado.


Outra solicitação de alteração


E se o requisito mudar ainda mais? Gostaria de adicionar conta de cartão de crédito com seu próprio requisito exclusivo de depósitos.



Abordagem estrutural: Usando a abordagem estrutural, você precisa alterar a parte testada do código de depósito novamente.



Abordagem da OOP :Mas usando a abordagem orientada a objetos, você apenas criará uma nova classe com sua implementação exclusiva do método deposit (destacado em vermelho na imagem abaixo).

Portanto, embora a programação estrutural pareça uma abordagem fácil inicialmente, a OOP vence em longo prazo.


Vantagens da herança em OOPs


Mas pode-se argumentar que em todas as classes, você tem pedaços de código repetidos.

Para superar isso, você cria uma classe pai, diga “conta” e implementa a mesma função de depósito e saque. E torne as classes filhas herdadas da classe “conta”. Para que tenham acesso às funções de saque e depósito na classe de conta.

As funções não precisam ser implementadas individualmente. Esta é Herança em java. .




Java

  1. Herança Java
  2. O que é interface em c # com exemplo
  3. Conceitos de POO em Java | O que é, noções básicas com exemplos
  4. Encapsulamento em Java OOPs com Exemplo
  5. Método String Length () em Java:como encontrar com exemplo
  6. Método Java String charAt() com exemplo
  7. String Java contém() Método | Verificar substring com exemplo
  8. Java String EndsWith() Método com Exemplo
  9. Java BufferedReader:Como Ler Arquivo em Java com Exemplo
  10. Algoritmo de ordenação por inserção em Java com exemplo de programa