POO - Herança


A noção de herança

A herança é um princípio próprio à programação orientada a objetos (POO) que permite criar uma nova classe a partir de uma já existente. O nome herança, também chamada de subclasses, provém do fato de que a subclasse (a classe recém-criada) contém atributos e métodos da classe primária (da qual deriva). A principal vantagem da herança é a capacidade para definir novos atributos e métodos para a subclasse, que se somam aos atributos e métodos herdados.

Esta particularidade permite criar uma estrutura hierárquica de classes cada vez mais especializada. A grande vantagem disso é não ter que partir do zero para especializar uma classe existente. Desta maneira, é possível comprar bibliotecas de classes, que constituem um banco, que pode se especializar à vontade (a empresa que vende essas classes tende a proteger os dados membro graças à encapsulação).

Hierarquia das classes

É possível representá-la sob a forma de hierarquia de classes, às vezes chamada de arborescência de classes, a relação de parentesco que existe entre as diversas classes. A arborescência começa por uma classe geral chamada superclasse (às vezes, classe básica, classe parente, classe antepassado, classe mãe ou classe pai). Em seguida, as classes derivadas (classe filha ou subclasse) tornam-se cada vez mais especializadas. Assim, geralmente, podemos expressar a relação que vincula uma classe filha a sua mãe pela frase é um (do inglês ‘is a’):

Hierarquia das classes

Herança múltipla

Certas linguagens orientadas a objeto, como a C++, permitem a herança múltipla, o que significa que elas oferecem a uma classe a possibilidade de obter dados de duas ou mais superclasses. Assim sendo, a técnica permite reunir, numa única classe, atributos e métodos de várias classes:


Herança múltipla

Veja também

Este documento, intitulado 'POO - Herança', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.