13.13. Herança e Polimorfismo em Java: Classes Internas e Herança

Página 97

13.13 Herança e Polimorfismo em Java: Classes Internas e Herança

13.13 Herança e Polimorfismo em Java: Classes Internas e Herança

A programação orientada a objetos (POO) é um paradigma de desenvolvimento que permite aos programadores criar programas baseados no conceito de "objetos", que podem conter dados e métodos para manipular esses dados. Java, sendo uma linguagem orientada a objetos, oferece mecanismos robustos para implementar herança e polimorfismo, incluindo o uso de classes internas. Neste capítulo, exploraremos como a herança e o polimorfismo se manifestam no contexto das classes internas em Java.

Herança em Java

Herança é um princípio fundamental da POO que permite criar uma nova classe baseada em uma classe existente. A nova classe, chamada de classe derivada ou subclasse, herda atributos e métodos da classe base, também conhecida como superclasse. Em Java, a herança é realizada com a palavra-chave extends.

Classes Internas

Em Java, é possível definir uma classe dentro de outra classe. Essas são chamadas de classes internas e podem ser categorizadas em quatro tipos:

  • Classe interna regular: Uma classe definida dentro do escopo de outra classe.
  • Classe interna estática: Uma classe interna que é declarada como estática. Ela pode ser acessada sem a necessidade de uma instância da classe externa.
  • Classe interna local: Uma classe definida dentro de um bloco de código, como um método.
  • Classe anônima: Uma classe sem nome definida e instanciada em uma única expressão.

Herança com Classes Internas

Quando uma classe interna estende outra classe, ela herda seus atributos e métodos. Isso permite a reutilização de código e a criação de hierarquias de classes mais complexas. Além disso, uma classe interna pode acessar membros da sua classe externa, mesmo que sejam privados.

Considere o seguinte exemplo:

        
public class Externa {
    private String mensagem = "Olá, Mundo!";
    
    class Interna extends OutraClasse {
        void exibirMensagem() {
            System.out.println(mensagem); // Acesso ao membro privado da classe externa
        }
    }
}

class OutraClasse {
    public void algumMetodo() {
        // Implementação
    }
}
        
    

A classe Interna é uma classe interna da classe Externa e estende OutraClasse. Ela pode acessar o membro privado mensagem da classe Externa sem problemas.

Polimorfismo

O polimorfismo é outro conceito chave da POO que permite que um objeto seja tratado como uma instância de sua própria classe ou de qualquer classe da qual ele herda. Em Java, o polimorfismo é geralmente implementado através de métodos sobrescritos (override) e interfaces.

Quando uma classe interna sobrescreve um método de sua superclasse, ela está usando polimorfismo para fornecer uma implementação específica desse método. Isso é especialmente útil quando queremos modificar o comportamento de métodos herdados em contextos específicos da classe externa.

Veja o exemplo a seguir:

        
public class Externa {
    // ... outros membros da classe Externa ...
    
    class Interna extends OutraClasse {
        @Override
        public void algumMetodo() {
            System.out.println("Método sobrescrito na classe interna.");
        }
    }
}
        
    

No exemplo acima, a classe Interna sobrescreve o método algumMetodo da classe OutraClasse. Quando um objeto da classe Interna chama algumMetodo, a versão sobrescrita é executada.

Considerações Finais

Herança e polimorfismo são conceitos poderosos que permitem a criação de código reutilizável e extensível. As classes internas em Java proporcionam uma maneira de organizar o código de maneira mais próxima e integrada com a classe externa, mantendo a capacidade de herdar de outras classes e implementar polimorfismo.

É importante notar que, embora as classes internas possam acessar todos os membros (incluindo privados) da classe externa, a classe externa não tem acesso direto aos membros da classe interna. Além disso, o uso de classes internas deve ser bem pensado, pois elas podem complicar o design do seu programa se usadas sem critério.

Compreender como herança e polimorfismo funcionam em conjunto com as classes internas é essencial para qualquer desenvolvedor Java que deseja dominar a linguagem e escrever códigos eficientes e organizados.

Répondez maintenant à l’exercice sur le contenu :

Qual das seguintes afirmações sobre classes internas em Java é correta de acordo com o texto fornecido?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

9813.14. Herança e Polimorfismo em Java: Princípio de substituição de Liskov

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte