Generalização e Especialização

Hierarquia de classes

Assim como os conceitos de Abstratas e Concretas, tem-se também nos extremos da árvore hierárquica de herança, os conceitos de Generalização e Especialização. Na Generalização, como o próprio nome sugere, há classes mais genéricas e abstratas disponíveis, as quais podem ser usadas para outras descenderem delas. Já a Especialização é usada para indicar que classes que estão numa posição inferior na hierarquia possuem estado e comportamento mais especializados, ou seja, com mais detalhes de informações.

Figura 3 - Hierarquia de Classes

Descrição imagem

A figura acima ilustra tais conceitos dentro da hierarquia de classes de transportes, apresentada anteriormente. Como pode ser observado, classes em posição inferior na hierarquia, tal como a classe Automóvel, representam especializações de classes em posição superior (Transporte, Terrestre) na hierarquia. Já classes em posição superior, como a classe Transporte, representam generalizações de classes em posições inferiores (Automóvel, Terrestre).

Herança Múltipla e Herança Simples

Herança Simples: cada classe pode ter apenas uma superclasse, embora uma superclasse possa ter várias subclasses.

Herança Múltipla: é a capacidade de uma classe possuir mais de uma superclasse e herdar as características e métodos combinados de todas as superclasses.

Resumo

  • Relacionamento do tipo: “É um”;
  • Como uma classe pode herdar de outra: extends;
  • Evita a duplicação de código;
  • Permite reuso código;
  • Simplifica o código;
  • Facilita a manutenção e extensão;
  • Classes definem tipos e subclasses definem subtipos.

Versão 5.3 - Todos os Direitos reservados