Paradigmas de Linguagens de Programacao- Aula #8

Post on 25-May-2015

1.061 views 3 download

description

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

Transcript of Paradigmas de Linguagens de Programacao- Aula #8

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

?

?