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 Explicada: Tipos, Sintaxe e Exemplos Práticos

O que é Herança?

Herança é um conceito central de orientação a objetos que permite uma classe adquirir campos e métodos de outra. Pense como um filho herdando traços dos pais. Reutilizando código existente, a herança promove reusabilidade e simplifica manutenção.

Este guia abrange:

Tipos de Herança

Java suporta vários padrões de herança, cada um adequado a diferentes necessidades de design.

Herança Simples

Uma classe estende outra, formando relação pai-filho simples.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Classe B estende Classe A.

Herança Múltipla

Embora Java não permita uma classe estender múltiplas classes, entender o conceito ajuda ao usar interfaces.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Classe C estende tanto Classe A quanto Classe B (conceitual).

Herança Multinível

Cadeias de herança podem abranger vários níveis: uma subclasse pode ser superclasse para outra classe.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Classe C estende B, que estende A.

Herança Hierárquica

Uma superclasse pode gerar múltiplas subclasses.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Classes B, C e D todas estendem Classe A.

Herança Híbrida

Herança híbrida combina padrões de herança simples e múltipla. Embora Java não suporte diretamente, o conceito é útil ao projetar hierarquias complexas usando interfaces.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Classe D herda de Classe B e Classe C, que ambas estendem Classe A.

Nota: Java não suporta herança híbrida ou múltipla para classes.

Herança em Java

Em Java, uma relação É-UM é expressa através de herança. A palavra-chave extends sinaliza que uma subclasse herda de uma superclasse.

Sintaxe típica:

class SubClasse extends SuperClasse {
    // métodos e campos
}

Exemplo de Herança em Java

Abaixo, ilustração concisa de herança em ação.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Exemplo de Herança em Java
class Medico {
    void detalhesMedico() {
        System.out.println("Detalhes do Médico...");
    }
}
class Cirurgiao extends Medico {
    void detalhesCirurgiao() {
        System.out.println("Detalhes do Cirurgião...");
    }
}
public class Hospital {
    public static void main(String[] args) {
        Cirurgiao s = new Cirurgiao();
        s.detalhesMedico();
        s.detalhesCirurgiao();
    }
}

Usando a Palavra-chave super

A palavra-chave super fornece acesso a membros da superclasse, análoga a this mas para elementos da classe pai.

Pode ser usada com variáveis, métodos e construtores.

Exemplo de sintaxe:

super.nomeMetodo();

Herança em Ação: Cenário Bancário

Considere uma aplicação bancária suportando múltiplos tipos de conta. Em abordagem estruturada, você escreveria funções separadas para ações comuns como depositar e sacar.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos

Usando OOP, define-se uma classe base Conta com comportamento compartilhado, e estende-se para tipos específicos.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Abordagem estruturada: funções separadas para depositar e sacar.
Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Abordagem OOP: subclasses reduzem duplicação.

Adicionando Cheque Especial

Quando o requisito muda para adicionar cheque especial, código estruturado precisa ser alterado. Em contraste, OOP permite criar nova subclasse implementando lógica única de sacar sem tocar código base testado.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Abordagem estruturada: modificar função sacar existente.
Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Abordagem OOP: adicionar nova subclasse para conta com cheque especial.

Adicionando Conta Cartão de Crédito

Similarmente, introduzir conta cartão de crédito com regras únicas de depósito é simples em OOP: estenda classe base com comportamento especializado.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Abordagem estruturada: ajustar lógica de depósito existente.
Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Abordagem OOP: criar nova subclasse com lógica de depósito personalizada.

Benefícios da Herança em OOP

Herança elimina duplicação de código colocando lógica compartilhada na classe pai. Classes filhas herdam métodos depositar e sacar, reduzindo overhead de manutenção.

Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos
Herança em Java Explicada: Tipos, Sintaxe e Exemplos Práticos

Java

  1. Dominando Herança em Java: Conceitos, Tipos e Exemplos Práticos
  2. Entendendo Interfaces em C#: Definição, Exemplo e Uso Prático
  3. Conceitos de OOP em Java: Fundamentos, Exemplos e Vantagens
  4. Encapsulamento em Java: Guia Completo com Exemplo Prático
  5. Método Java String length(): Como Obter o Tamanho de uma String (Exemplo)
  6. Entendendo Java String.charAt(): Sintaxe, Tipo de Retorno, Exceções e Exemplo Prático
  7. Método Java String.contains(): Como Verificar Substrings – Exemplos Práticos
  8. Dominando Java String.endsWith(): Como Verificar Sufixos de String com Exemplos
  9. Lendo Arquivos em Java com BufferedReader – Guia Prático com Exemplos
  10. Algoritmo Insertion Sort em Java: Exemplo Claro e Guia Passo a Passo