Escolar Documentos
Profissional Documentos
Cultura Documentos
Orientação a Objetos
Prof. Danilo H. Perico
Metaclasses
2
Metaclasses
3
Metaclasses
4
Metaclasses
● Exemplo!
5
Reflection
● Reflection (Reflexão):
○ A ideia é que o programa possa analisar e manipular a si
próprio!
○ Ele pode se ver como se fosse um reflexo em um espelho
6
Reflection
● Reflection (Reflexão):
○ Com reflexão podemos descobrir a classe de um objeto, os
modificadores de acesso, métodos, atributos, etc.
○ Podemos também criar instâncias da classe, invocar um
método da classe, etc.
7
Reflection
8
Reflection
9
Reflection
○ getFields(); ○ getDeclaredFields();
○ getConstructors(); ○ getDeclaredMethods();
○ getMethods();
https://www.oracle.com/technical-resources/articles/java/javareflection.html
10
Reflection
● Exemplo!
12
Orientação a Objetos em outras
Linguagens de Programação
13
C++ - Classe e Herança
14
Python
15
POO no Python
POO no Python
cria o objeto
da classe
Aluno
POO no Python
executa o
método do
objeto aluno
POO no Python - Construtor
No Python o método construtor da classe é chamado de __init__
construtor:
inicializa o valor
dos atributos
quando o objeto é
instanciado
POO no Python - Herança
Sobrecarga de Operadores
21
Sobrecarga de Operadores
22
Sobrecarga de Operadores
23
Sobrecarga de Operadores
● Exemplo em Java!
24
Sobrecarga de Operadores
25
Exemplo
26
Operadores que podem ser sobrecarregados
27
Operadores que não podem ser sobrecarregados
28
Exemplo: Números Complexos
29
30
Exemplo: Quantos retângulos cabem dentro
de outro?
● Faça uma classe retângulo com atributos para largura e comprimento
● Faça um método para cálculo de área em sua classe
● Modifique o operador / (divisão) para retornar a quantidade de retângulos
menores que cabem dentro de um retângulo maior
● main():
31
Fim
32