Polimorfismo, Interfaces, Classes Abstractas: Difference between revisions
From Wiki**3
No edit summary |
No edit summary |
||
| Line 11: | Line 11: | ||
* Selecção do método a invocar: ''early binding'' e ''late binding'' - [[Comparação de Linguagens de Programação|comparação com outras linguagens]] | * Selecção do método a invocar: ''early binding'' e ''late binding'' - [[Comparação de Linguagens de Programação|comparação com outras linguagens]] | ||
= | =Interfaces= | ||
* | * Princípios e propriedades | ||
* | * Separação de interface e implementação | ||
=Classes Abstractas= | =Classes Abstractas= | ||
* Noção de classe abstracta | * Noção de classe abstracta | ||
* Propriedades | * Propriedades | ||
* Polimorfismo e classes abstractas | * Polimorfismo e classes abstractas | ||
* Discussão de aspectos problemáticos | * Discussão de aspectos problemáticos | ||
* Contraste com interfaces | |||
= Exemplos e Exercícios = | |||
==Exemplos== | ==Exemplos== | ||
* [[Exemplos Simples de Herança em Java#Hierarquia de Classes|Exemplo simples]]: <code>Animal</code>, <code>Mamífero</code>, <code>Gato</code> | |||
* [[Exemplos Simples de Herança em Java#Vector|Exemplo com vector]]. | |||
* Editor gráfico sem classes abstractas | * Editor gráfico sem classes abstractas | ||
* Editor gráfico com classes abstractas | * Editor gráfico com classes abstractas | ||
* [[Classes Abstractas e Interfaces (Java)|Comparação entre classes abstractas e interfaces]] | * [[Classes Abstractas e Interfaces (Java)|Comparação entre classes abstractas e interfaces]] | ||
* [[Polimorfismo, Interfaces, Classes Abstractas: Exemplos Simples|Exemplos Simples]] em Java e C++ (classes virtuais puras) | * [[Polimorfismo, Interfaces, Classes Abstractas: Exemplos Simples|Exemplos Simples]] em Java e C++ (classes virtuais puras) | ||
Revision as of 15:12, 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
Exercícios
- Exercício 01 - Energia, Predadores e Presas.
- Exercício 02 - Tabelas e Predicados.