java
Objetos - V
Prof. Fulvio B. Prevot
Herança - Conceito
• É a característica da programação orientadas a objetos que permite criar uma nova classe, como extensão de outra já existente. • Isto faz com que a nova classe herde o código-fonte da
“classe-mãe”, o que proporciona a reutilização, na “classefilha”, do código já existente na “classe-mãe”.
• Um dos impactos do uso de herança, no desenvolvimento de projeto de aplicações e sistemas orientados a objetos, é a redução do tempo empregado para desenvolver a programação, além da consequente redução da quantidade de linhas de código-fonte.
• Com tudo isso, evita-se a desnecessária duplicação de código e manutenção da aplicação torna-se mais fácil, principalmente quando a herança é combinada com a modularização, a abstração e o polimorfismo.
Herança - Generalização
• Generalização é o processo de criação de uma nova classe (“classe-mãe”), a partir de classes já criadas (“classes-filhas”), que possuam características comuns.
• Na generalização, as características comuns
(atributos e métodos) das “classes-filhas” são retiradas destas e escritas na “classe-mãe”.
• A partir disso, as “classes-filhas” passam a herdar, usar e compartilhar o código-fonte da “classemãe”.
• A consequência natural é a redução do códigofonte e a não duplicação de parte desse código.
Herança - Especialização
• Especialização é o processo inverso da generalização, ou seja, é o processo de criação de uma nova classe (“classe-filha”), a partir de uma
“classe-mãe” já criada.
• A especialização é usada, quando se deseja que a nova “classe-filha” criada tenha, além das características herdadas da “classe-mãe “, outras características mais específicas ou mais diferenciadas. • Um benefício consequente é o reaproveitamento do código da classe-mãe e menor tempo dispendido para desenvolver a nova classe
(“classe-filha”).
Hierarquia de Classes
• Com o uso da generalização e da