Programar em C++/Herança (editar)
Revisão das 16h13min de 30 de janeiro de 2010
, 30 de janeiro de 2010Síntese...
[edição não verificada] | [edição não verificada] |
Sem resumo de edição |
Síntese... |
||
Linha 492:
== Superposição de funções ==
Muitas vezes temos classes derivadas que executam uma determinada ação de forma distinta da mesma ação definida na classe base. Por exemplo, se temos uma classe "animal" e declaramos uma função chamada "mover" e depois declaramos duas derivadas: "ave" e "peixe" com a mesma função "mover" teremos uma incoerência devido ao fato de que peixes se movem de forma totalmente diferente de aves. Uma vez que peixes devem "nadar" e "aves" podem "voar" ou "andar" nosso modelo de objetos está incorreto.
Line 501 ⟶ 497:
Por questões de coerência semântica, porém, precisamos manter o mesmo nome para as funções das classes base e derivada em algumas construções. Isto é essencial devido a necessidade de criarmos objetos generalistas, por exemplo se tivermos classes "ave" e "peixe" abstraídas em uma base "animal", como vimos acima. Havendo estas condições, como poderemos criar comportamentos diferentes usando o mesmo nome para as funções?
A resposta está em uma das características
== Acessando funções superpostas da classe base ==
|