Polimorfismo, Interfaces, Classes Abstractas: Difference between revisions

From Wiki**3

Root (talk | contribs)
Root (talk | contribs)
Line 47: Line 47:
* [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 04: Tabelas e Transformações|Exercício 04: Tabelas e Transformações]]
* [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 04: Tabelas e Transformações|Exercício 04: Tabelas e Transformações]]
* [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 05: Tabelas e Impressoras|Exercício 05: Tabelas e Impressoras]]
* [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 05: Tabelas e Impressoras|Exercício 05: Tabelas e Impressoras]]
* [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 06: Tabuleiros e Paças|Exercício 06: Tabuleiros e Peças]]


[[category:Ensino]]
[[category:Ensino]]
[[category:PO]]
[[category:PO]]

Revision as of 22:31, 3 November 2013

Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

Vários aspectos de polimorfismo:

  • Polimorfismo e tipos primitivos
  • Polimorfismo e tipos compostos (classes).
  • Herança e polimorfismo: upcasting e downcasting.
  • Definição de métodos: overloading vs. overriding
  • Selecção do método a invocar:
    • early binding -- o método a invocar é conhecido em tempo de compilação (e.g., final em Java e não-virtual em C++)
    • late binding -- o método a invocar é apenas conhecido em tempo de execução (habitual em Java; única possibilidade em PHP e outras linguagens semelhantes; e métodos declarados com virtual em C++)

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

Exercícios