Paradigmas de Linguagens de Programacao- Aula #8

Preview:

DESCRIPTION

Paradigmas de Linguagens de Programacao Aula #8 - Prof. Ismar Frango

Citation preview

Paradigmas de Linguagens de Programação

Paradigma Orientado a ObjetosAula #8

(CopyLeft)2010 - Ismar Frango ismarfrango@gmail.com

(More) Small talk ‘bout polymorphism...

PUI

Um objeto pode ser visto como pertencendo a diferentes classes que não precisam ser disjuntas

Animal

Polimorfismo Universal por Inclusão

Consequências: necessidade de herança, possibilidade de sobreposição, late binding...

Vtables

http://www.learncpp.com/cpp-tutorial/125-the-virtual-table/

Vtables (cont.)

cClass obj (D1)

__vptr

pClass ptr (Base)

“People think of security as a noun, something you go buy. In reality, it's an abstract concept like happiness. Openness is unbelievably helpful to security.”

James Gosling

Polimorfismo Universal Paramétrico

P.U.P.

Uma função ou uma classe que siga o polimorfismo universal paramétrico tem um parâmetro de tipo (implícito ou explícito), que determina o tipo de argumento para cada aplicação dessa função/classe.

List < >

C++: template function members

Definição da template pelo programador

Chamada de função

Instanciação de função pelo pré-processador

Algo que, neste caso, uma macro faria

Java: Template methods

?

?

Java: Generics e autoboxing

?

Java: Generics & Type Erasure

?

?

Recommended