Polimorfismo, Interfaces, Classes Abstractas: Difference between revisions
From Wiki**3
No edit summary |
|||
| Line 41: | Line 41: | ||
== Exercícios == | == Exercícios == | ||
* [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 01|Exercício 01 | * [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 01: Energia, Predadores e Presas|Exercício 01: Energia, Predadores e Presas]] | ||
* [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 02|Exercício 02 | * [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 02: Tabelas e Predicados|Exercício 02: Tabelas e Predicados]] | ||
[[category:OOP]] | [[category:OOP]] | ||
[[category:Teaching]] | [[category:Teaching]] | ||
Revision as of 15:14, 11 October 2009
Vários aspectos de polimorfismo:
- Polimorfismo e tipos primitivos
- Polimorfismo e tipos compostos (classes).
- Herança e polimorfismo: upcasting e downcasting.
Organização de Código
- Definição de métodos: overloading vs. overriding
- Selecção do método a invocar: early binding e late binding - comparação com outras linguagens
Interfaces
- Princípios e propriedades
- Separação de interface e implementação
Classes Abstractas
- Noção de classe abstracta
- Propriedades
- Polimorfismo e classes abstractas
- Discussão de aspectos problemáticos
- Contraste com interfaces
Exemplos e Exercícios
Exemplos
- Exemplo simples:
Animal,Mamífero,Gato - Exemplo com vector.
- Editor gráfico sem classes abstractas
- Editor gráfico com classes abstractas
- Exemplos Simples em Java e C++ (classes virtuais puras)
- Exemplo completo em Java:
Cão,Vigilante,CãoDeGuarda,CãoPastor,Chihuahua,Robot,XP,XP2003