Herança em OOPs Java com exemplo

O que que é herança?

A herança é um mecanismo no qual uma classe adquire a propriedade de outra classe. Por exemplo, uma criança herda as características de seus pais. Com a herança, podemos reutilizar os campos e métodos da classe existente. Conseqüentemente, a herança facilita a Reutilização e é um conceito importante de OOPs.

Neste tutorial, você aprenderá-

  • Tipos de herança
  • Herança em Java
  • Java Exemplo de herança
  • Superpalavra-chave
  • Aprenda herança em OOPs com exemplo

Tipos de herança

Existem Vários tipos de herança em Java:

Herança Única:

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

Herança única

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

Herança múltipla:

Em herança múltipla, uma classe estendendo mais de uma classe. Java não oferece suporte a herança múltipla.

Herança múltipla

Conforme o diagrama acima, a Classe C estende a Classe A e a Classe B ambas.

Herança multinível:

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.

Herança multinível

Conforme mostrado no diagrama, a Classe C é uma subclasse de B e B é um da subclasse Classe A.

Herança hierárquica:

Na herança hierárquica, uma classe é herdada por muitas subclasses.

Herança hierárquica

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

Herança híbrida:

A herança híbrida é uma combinação de herança única e múltipla.

Herança híbrida

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

Nota: Java não oferece suporte à herança híbrida / múltipla

Herança em Java

JAVA INHERITANCE é 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 super classe e a classe herdada é chamada de subclasse. A palavra-chave extends é usada pela subclasse para herdar os recursos da superclasse.

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

Sintaxe de herança Java:

class subClass extends superClass { //methods and fields } 

Herança Java E xample

Superpalavra-chave

A superpalavra-chave é semelhante a “esta” palavra-chave.

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

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

Sintaxe:

super.<method-name>();

Aprenda herança em OOPs com exemplo

Considere o mesmo aplicativo bancário do exemplo anterior .

Devemos abrir dois tipos de contas diferentes, uma para salvar e outra para verificar (também conhecida como atual).

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. Uma para retirar
  2. E a outra para ação de depósito.

Já que o o funcionamento dessas funções permanece o mesmo em todas as contas.

Abordagem OOP “: Ao usar a abordagem de programação OOPs. Nós criaríamos duas classes.

  • Cada um tendo a implementação das funções de depósito e retirada.
  • Isso redundará em trabalho extra.

Solicitação de mudança no software

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

Abordagem estrutural: usando a abordagem funcional, tenho que modificar minha função de retirada, que já está testado e com linha de base. E adicionar um método como o abaixo cuidará de novos requisitos.

Abordagem de OOP: usando a abordagem de OOP, você só precisa escrever uma nova classe com implementação exclusiva da função de retirada. Nunca tocamos na parte testada do código.

Outra solicitação de mudança

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

Abordagem estrutural: usando a abordagem estrutural, você deve alterar a parte testada do código de depósito de novo.

Abordagem OOP “s: Mas usando a abordagem orientada a objetos, você apenas crie uma nova classe com sua implementação única de método de depósito (destacado em vermelho na imagem abaixo).

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

Vantagem de herança em OOPs

Mas alguém pode argumentar que em todas as classes, você tem partes repetidas de código.

Para superar isso, você cria uma classe pai, diz “conta” e implementa a mesma função de depósito e retirada. E fazer com que as classes filhas herdem a classe “conta”. Para que tenham acesso às funções de levantamento e depósito na classe de conta.

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

Write a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *