Porque C ++ Necessidades Polimorfismo
A capacidade em C ++ de decidir em tempo de execução qual das várias funções de membro sobrecarregado para chamada com base no tipo de tempo de execução é chamado polimorfismo, ou ligação tardia. Decidir qual sobrecarregado função a ser chamada em tempo de compilação é chamado ligação inicial porque isso soa como o oposto de ligação tardia.
Sobrecarregando uma função polymorphically classe base é chamado substituindo a função de classe base. Esse novo nome é usado para diferenciar este caso mais complicado a partir do caso de sobrecarga normal.
Polimorfismo é a chave para o poder de programação orientada a objetos. É tão importante que as línguas que não suportam o polimorfismo não pode anunciar-se como linguagens OO. (É uma regulamentação do governo - você não pode rotular um OO língua, se ele não suporta polimorfismo menos que você adicione um aviso do Surgeon General, ou algo parecido.)
Sem polimorfismo, herança tem pouco significado. Como um exemplo, pensar em fazer nachos no forno. Neste sentido, você estará agindo como o falecido aglutinante. A receita ler: Aqueça os nachos no forno. Ele não lê: Se o tipo de forno é microondas, não this- se o tipo de forno é convencional, fazer isso- se o tipo de forno é de convecção, fazer essa outra coisa.
A receita (o código) depende de você (o falecido ligante) para decidir o que a ação (função de membro) significa calor quando aplicado ao forno (a instância particular de classe Forno) Ou qualquer uma das suas variações (subclasses), tais como um forno de micro-ondas (Microondas).
Esta é a forma como as pessoas pensam, e projetar uma linguagem ao longo das linhas da forma como as pessoas pensam permite que o modelo de programação para descrever com mais precisão o mundo em que as pessoas vivem.