O mecanismo de herança é o que diferencia a programação orientada a objetos da programação com Tipos Abstratos de Dados. Desta forma, este é um dos conceitos mais importantes para a efetiva utilização de C ++.
O conceito já foi introduzido no
Capítulo deste texto, sendo lá
apresentado como um mecanismo de especificação de
sistemas. E é justamente neste ponto que reside a elegância
da programação orientada a objetos: o mesmo mecanismo que
é empregado como uma ferramenta natural de especificação
(carro é-um-tipo-de veículo, roda
é-uma-parte-de veículo) é também utilizado
para a implementação. Esta facilidade de mapear conceitos
do mundo real para construções da implementação
é devido à redução da distância
semântica4.1 entre os modelos adotados em
cada fase.