ExpertiDict

C++ · Essencial · Português · Técnico

herança

eˈɾɐ̃sɐsubstantivo

Mecanismo em que uma classe derivada reaproveita os membros de uma classe base. Em C++ declara-se com dois-pontos e o modo de acesso, como class B : public A.

Onde usar

Usada para modelar relações do tipo é-um e permitir polimorfismo. Em code review costuma-se perguntar se composição não seria mais simples, já que herança acopla as classes.

Em código

class Animal {};
class Cao : public Animal {
public:
  void latir() {}
};

Exemplos

Essa herança não faz sentido; Pilha não é um Vetor.

Troquei a herança por composição e o código ficou mais simples.

Cuidado

Evite herdar só para reaproveitar código; herança pública deve expressar que a derivada pode substituir a base.

Sinônimos

derivação

Veja também

Todos os termos de C++