Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)
New Programação Orientada a Objetos Fundamentos de Orientação...
Transcript of New Programação Orientada a Objetos Fundamentos de Orientação...
![Page 1: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/1.jpg)
Programação Orientada a Objetos
Fundamentos de Orientação a ObjetosObjetos e Classes
André SantanchèInstitute of Computing – UNICAMP
Março 2015
Pic
ture
by
htt
p:/
/ww
w.f
lickr
.co
m/p
ho
tos/
cro
uch
y69,
201
0
![Page 2: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/2.jpg)
Orientação a Objetos
![Page 3: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/3.jpg)
Um pouco de história
▪ SIMULA 67
▫ Primeira Linguagem Orientada a Objetos
▪ Smalltalk
▫ Projeto Dynabook
▫ “Este ‘Dynabook’ foi baseado na visão de computadores pessoais baratos do tamanho de um caderno, tanto para adultos quanto crianças, com a capacidade de lidar com todas as suas respectivas necessidades de informação”. [KRE98]
![Page 4: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/4.jpg)
As Duas Faces da OO
▪ Abordagem de abstração
▪ Estrutura de dados
![Page 5: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/5.jpg)
Primeira FaceAbordagem de Abstração
![Page 6: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/6.jpg)
Problema, Abstração e Tipo Abstrato de Dados
![Page 7: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/7.jpg)
Problema x Abstração
▪ “Para resolver um problema é necessário escolher uma abstração da realidade” (Almeida, 2010)
![Page 8: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/8.jpg)
Universo de Discursoou Mini-mundo
▪ Recorte do mundo real a ser representado
minimundo
fezempréstimo
escreveuDinolândia
![Page 9: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/9.jpg)
membro:Doriana
livro:Dinolândia
empréstimodados
fezempréstimo
escreveuDinolândia
minimundo
autor:Horário
autoria
Dados
▪ Fatos registrados – significado implícito
![Page 10: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/10.jpg)
Abstração
▪ “processo mental que consiste em escolher ou isolar um aspecto determinado de um estado de coisas relativamente complexo, a fim de simplificar a sua avaliação, classificação ou para permitir a comunicação do mesmo” (Houaiss, 2006)
▪ Abstrações ajudam a gerenciar a complexidade do software (Shaw, 1984)
![Page 11: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/11.jpg)
Abstrações do Dia a Dia
![Page 12: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/12.jpg)
Como Modelamos o Mundo?
![Page 13: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/13.jpg)
Como modelamos o mundo?Ilusão dos Objetos
![Page 14: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/14.jpg)
Fan
tasi
a à
Co
nst
anti
no
ple
po
r F
elix
Zie
m
![Page 15: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/15.jpg)
![Page 16: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/16.jpg)
![Page 17: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/17.jpg)
Objetos
▪ Montanha
![Page 18: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/18.jpg)
Objetos
▪ Montanha
![Page 19: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/19.jpg)
Objetos
▪ Montanha
Mo
un
tain
by
reve
rse
fau
lt b
y Ta
kam
i To
rao
![Page 20: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/20.jpg)
Objetos
▪ Estação rodoviária
![Page 21: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/21.jpg)
Ilusão dos Objetos
▪ Existência independente
▪ Permanecem
(Santos & Hood, 2009)
![Page 22: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/22.jpg)
Noção de Objeto
▪ Psicologia do desenvolvimento:
▫ Quando crianças representam objetos como entidades permanentes?
▫ Que persistem:
◦ Através do tempo e espaço
◦ À oclusão
(Santos & Hood, 2009)
![Page 23: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/23.jpg)
Noção de Objetos▪ Objetos permanecem?
▫ “Of course, the concept of object permanence itself is really a misnomer, as all objects comprise energy in continuous states of change.” (Santos & Hood, 2009)
![Page 24: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/24.jpg)
Noção de Objetos
▪ Objetos necessários
▫ “One of the most functionally relevant aspects of physical objects is the fact that they persist—standardly speaking, objects do not go in and out of existence and, thus, it is important that an organism be able to represent their continued presence even when they cannot be directly perceived or apprehended.” (Santos & Hood, 2009)
![Page 25: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/25.jpg)
Noção de Objetos
▪ Existência independente do observador
▫ “[...] nervous systems were developed via natural selection to represent objects so that organisms may interact with the external world in an adaptive way, and thus, brains are built to capture what is functionally relevant about objects.” (Santos & Hood, 2009)
![Page 26: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/26.jpg)
Formalizando Objetos
Por que formalizar?
![Page 27: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/27.jpg)
By
Uni
vers
ity o
f Not
tingh
am
Giv
ing
dire
ctio
n b
y B
atou
l Zai
ter
(C.O
.D. L
ibra
ry)
on F
lickr
Modelos e Comunicação
![Page 28: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/28.jpg)
Modelos e Comunicação
![Page 29: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/29.jpg)
Objetos em Bancos de Dados
![Page 30: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/30.jpg)
Projeto de um BD
Modelo Conceitual
Banco de Dados
Visão Externa 1 Visão Externa 2 Visão Externa n
Usuários Finais
Modelo Lógico
Modelo Físico
esquema conceitual
esquema lógico
esquema físico
requisitos requisitos requisitos
Independente de SGBD
Dependente de SGBD
(Guimarães, 2003)
![Page 31: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/31.jpg)
Objetos em Engenharia de Software
![Page 32: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/32.jpg)
Modelo em Cascata
(PRESSMAN, 2006)
COMUNICAÇÂO
PLANEJAMENTO
MODELAGEM
CONSTRUÇÃO
IMPLANTAÇÃO
Iniciação do projeto
Levantamento de requisitos
Estimativas
Cronogramas
Monitoração
Codificação
Testes
Entrega
Manutenção
Análise
Projeto
Engenharia de Software – José Maria N. David
32
![Page 33: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/33.jpg)
Projeto Iterativo
![Page 34: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/34.jpg)
FormalEntidades / Objetos
![Page 35: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/35.jpg)
Modelo Entidade-Relacionamento (ER)
![Page 36: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/36.jpg)
Modelo Entidade-Relacionamento
▪ Padrão para modelagem conceitual
▪ Criada por Peter Chen em 1976
![Page 37: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/37.jpg)
Entidade
![Page 38: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/38.jpg)
Entidade
▪ Objeto do universo de discurso
▪ Identificável distintamente
▪ Existência independente
Pessoa
Livro
Departamentode uma
Organização
Categoriade umLivo
![Page 39: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/39.jpg)
Modelo Orientado a Objetos (OO)
![Page 40: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/40.jpg)
Modelo Orientado a Objetos
▪ SIMULA 67
▫ Primeira Linguagem Orientada a Objetos
▪ Smalltalk
▫ Projeto Dynabook
▫ “Este ‘Dynabook’ foi baseado na visão de computadores pessoais baratos do tamanho de um caderno, tanto para adultos quanto crianças, com a capacidade de lidar com todas as suas respectivas necessidades de informação”. [KRE98]
![Page 41: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/41.jpg)
Objeto
![Page 42: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/42.jpg)
Objeto
▪ Objeto do universo de discurso
▪ Identificável distintamente
▪ Existência independente
Pessoa
Livro
Departamentode uma
Organização
Categoriade umLivo
![Page 43: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/43.jpg)
Objeto
Objetos são caracterizados por:
▫ identidade;
▫ atributos;
▫ comportamento.
Pessoa
Livro
Departamentode uma
Organização
Categoriade umLivo
![Page 44: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/44.jpg)
Exemplo de ObjetoEsfera Vermelha
Atributos (nome, valor)
(cor, vermelha)
(elasticidade, alta)
(raio, 60 cm)
(peso, 200 g)
aumentar, diminuir, se mover
Comportamento
Objeto Esfera
![Page 45: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/45.jpg)
Exemplo de ObjetoUm Financiamento
Atributos (nome, valor)
(percentual de juros, 1%)
(número de parcelas, 3)
(valor, R$ 150)
calcula parcela
Comportamento
Objeto Financiamento
![Page 46: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/46.jpg)
Mania de ClassificarTodas as Canecas são a
mesma Caneca
![Page 47: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/47.jpg)
Generalizando ou Estereotipando
![Page 48: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/48.jpg)
Generalizando ou Estereotipando
![Page 49: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/49.jpg)
Generalizando ou Estereotipando
![Page 50: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/50.jpg)
Classes ou Estereótipos
▪ Cérebro – captura funcionalidade relevante dos objetos
(Santos & Hood, 2009)
▪ Generalização – essencial para sobrevivência
▫ memória – guarda estereótipos
▫ previsão das funcionalidades(Bloom, 2007)
![Page 51: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/51.jpg)
EstereótiposInvariantes e Propriedades
![Page 52: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/52.jpg)
ClassificandoInvariantes e Propriedades
![Page 53: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/53.jpg)
![Page 54: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/54.jpg)
ClassificandoInvariantes e Propriedades
![Page 55: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/55.jpg)
ClassificandoInvariantes e Propriedades
![Page 56: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/56.jpg)
EstereótiposAbstrações Humanas
▪ São o mundo real ou descrevem o mundo real?
![Page 57: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/57.jpg)
Objetos e Memória
![Page 58: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/58.jpg)
Memória de Curta Duração (Trabalho)
▪ Armazena:
▫ produtos intermediários do pensamento
▫ representações produzidas pelo Sistema Perceptual
▪ Operações mentais:
▫ obtém operandos
▫ deixam resultados intermediários
(Rocha, 2003)
![Page 59: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/59.jpg)
Chunks
▪ “Conceitualmente a MCD é constituída de chunks: elementos ativados da MLD, que podem ser organizados em unidades maiores.”
(Rocha, 2003, p. 55)
![Page 60: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/60.jpg)
Estereótipos
▪ Estereótipo
▫ “We tend to use the term to refer to information we have about categories and intuitions we have about the typicality, our frequency of certain features of categories.” (Bloom, 2007)
![Page 61: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/61.jpg)
Estereótipos
▪ Essencial para sobrevivência
▫ And it turns out that collecting information about categories is essential to our survival. We see novel things all the time and if we were not capable of learning and making guesses, educated guesses, about these novel things we would not be able to survive. So, when you see this object over here you categorize it as a chair and you recognize that you could probably sit on it.” (Bloom, 2007)
![Page 62: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/62.jpg)
Estereótipos
▪ Generalização
▫ “And if you were suddenly stripped of your ability to make generalizations, you'd be at a loss. You wouldn't know what to eat, how to interact. So, some sort of ability to record information and make generalizations is absolutely essential to making it through life.” (Bloom, 2007)
![Page 63: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/63.jpg)
Modelos
▪ São fundamentais para:
▫ Percepção (propósito e funcionalidades)
▫ Memória
▫ Comunicação
▪ Percebemos o mundo em objetos
▪ Os generalizamos e classificamos
![Page 64: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/64.jpg)
Referências Bibliográficas
▪ Almeida, Charles Ornelas , Guerra, Israel; Ziviani, Nivio (2010) Projeto de Algoritmos (transparências aula).
▪ Bloom, Paul (2007) Introduction to Psychology – transcrição das aulas (aula 17). Yale University.
▪ Ferreira, Aurélio B. H. (1989) Minidicionário da Língua Portuguesa. Rio de Janeiro, Editora Nova Fronteira.
▪ Houaiss, Instituto Antônio. Dicionário Houaiss da língua portuguesa (2006) Editora Objetiva, Março.
▪ IBM - International Business Machines Corporation. IBM Smalltalk Tutorial [Online] http://www.wi2.uni-erlangen.de/sw/smalltalk/
▪ Liskov, Barbara; Zilles, Stephen. Programming with abstract data types (1974) ACM SIGPLAN Notices, 9 (4) p. 50.
![Page 65: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/65.jpg)
Referências Bibliográficas
▪ Meyer, Bertrand (1997) Object-Oriented Software Construction – Second Edition. USA, Prentice-Hall, Inc.
▪ Miller, Robert (2004) 6.831 User Interface Design and Implementation (lecture notes). MIT OpenCourseware.
▪ Rocha, Heloisa Vieira da, Baranauskas, Maria Cecilia Calani (2003) Design e Avaliação de Interfaces Humano-Computador. NIED/UNICAMP.
▪ Santos, L. R., & Hood, B. M. (2009). Object representation as a central issue in cognitive science. The Origins of Object Knowledge: The Yale Symposium on the Origins of Object & Number Representation. Oxford: Oxford University Press.
▪ Shaw, M. Abstraction Techniques in Modern Programming Languages (1984) IEEE Software, 1, 4, 10-26.
![Page 66: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/66.jpg)
Referências Bibliográficas
▪ Tenenbaum, Aaron M.; Langsam, Yedidyah; Augenstein, Moshe J. Data Structures Using C (1990) Prentice Hall, Upper Saddle River, NJ.
![Page 67: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/67.jpg)
André Santanchèhttp://www.ic.unicamp.br/~santanche
![Page 68: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/68.jpg)
License▪ These slides are shared under a Creative Commons License.
Under the following conditions: Attribution, Noncommercial and Share Alike.
▪ See further details about this Creative Commons license at:http://creativecommons.org/licenses/by-nc-sa/3.0/
![Page 69: New Programação Orientada a Objetos Fundamentos de Orientação …santanch/teaching/oop/2015-1/... · 2015. 5. 8. · Programação Orientada a Objetos Fundamentos de Orientação](https://reader034.fdocumentos.tips/reader034/viewer/2022052105/60404e91a506b96c2a21b053/html5/thumbnails/69.jpg)
Imagens Externas
▪ Havang(nl) [http://commons.wikimedia.org/wiki/User:Havang%28nl%29]url (ver licença específica): http://commons.wikimedia.org/wiki/File:Bomenpark_Meijhorst,_Nijmegen_%28Gld,_NL%29.jpg
▪ Eric Gaba [http://commons.wikimedia.org/wiki/User:Sting]url (ver licença específica): http://commons.wikimedia.org/wiki/File:Easter_Island_map-hu.svg
▪ Kharker [http://en.wikipedia.org/wiki/User:Kharker]url (ver licença específica): http://commons.wikimedia.org/wiki/File:Ardf_map.png