Polimorfismo, Interfaces, Classes Abstractas: Difference between revisions

From Wiki**3

Root (talk | contribs)
Root (talk | contribs)
Line 35: Line 35:
* [[Exemplos Simples de Herança em Java#Vector|Exemplo com vector]].
* [[Exemplos Simples de Herança em Java#Vector|Exemplo com vector]].


* Editor gráfico sem classes abstractas
* [[Polimorfismo, Interfaces, Classes Abstractas/Editor gráfico sem classes abstractas|Editor gráfico sem classes abstractas]]
* Editor gráfico com classes abstractas
* [[Polimorfismo, Interfaces, 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]]

Revision as of 09:31, 22 October 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++)

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

Exercícios