O que é a herança em Java?

Herançarefere-se a um recurso de programação Java que permite criar classes que são derivadas de outras classes. Uma classe que é baseado em outra classe inherits a outra classe. A classe que é herdada é a classe pai, a classe base, ou o superclasse. A classe que faz o herdeiro é o classe criança, a classe derivada, ou o subclasse.

Uma subclasse automaticamente assume todos os comportamentos e atributos de sua classe base. Assim, se você precisa criar várias classes para descrever os tipos que não são idênticos, mas têm muitas características em comum, você pode criar uma classe base que define todas as características comuns. Em seguida, você pode criar subclasses que herdam as características comuns.

Uma subclasse pode adicionar recursos para a classe base que herda, definindo seus próprios métodos e campos. Esta é uma das maneiras uma classe derivada se distingue de sua classe base.

Uma subclasse também pode alterar o comportamento fornecido pela classe base. A classe base podem prever que todas as classes derivadas dela tem um método chamado Toque, por exemplo, mas cada classe é livre para fornecer sua própria implementação do Toque método. Neste caso, todas as classes que estendem a classe base de fornecer sua própria implementação do Toque método.

Para criar uma subclasse, você usa o estende-se palavra-chave na declaração de classe para indicar o nome da classe de base. O formato básico de uma declaração subclasse é esta:

classe pública Nome da classe estende-se ClasseBase{// Corpo da classe vai aqui}

A subclasse herda automaticamente o corpo de classe da classe base, de modo que quaisquer métodos ou campos que são definidos pela classe base serão automaticamente incluídos na subclasse. Assim, o corpo de classe para uma subclasse inclui apenas os métodos ou campos que diferenciam a subclasse da sua classe de base.

Por exemplo, suponha que você tenha uma classe chamada Bola que define uma bola de base, e que pretende criar uma subclasse chamada BouncingBall que adiciona a capacidade de se recuperar. Você poderia fazer isso como este:

classe pública BouncingBall estende Bola {salto public void () {// o método de rejeição}}

Aqui estão alguns outros detalhes importantes sobre a criação de subclasses:

  • Uma subclasse herda todos os membros de sua classe base. construtores são não membros consideraram, no entanto. Como resultado, uma subclasse faz não herdar construtores de sua classe base.

  • A visibilidade (público ou privado) De quaisquer membros herdados da classe base é a mesma na subclasse. Isso significa que você não pode acessar a partir dos métodos da subclasse ou campos que são declarados na classe base como privado.

  • Você pode overridea método declarando um novo membro com a mesma assinatura na subclasse.

  • Um tipo especial de chamada visibilidade protegido esconde campos e métodos de outras classes, mas os torna disponíveis a subclasses.

  • Você pode adicionar mais métodos ou campos - privado, público, ou protegido - a uma subclasse.

menu