Upload
francisco-jose-a-c-souza
View
94
Download
0
Embed Size (px)
Citation preview
Orientação a
Objetos
this.tópicos
Orientação a ObjetosNoção Histórica
Paradigma Estruturado x Orientado a Objetos
AbstraçãoObjeto
Classe
this.contexto
1960 - 1970Império do Paradigma Estruturado
Grandes investimentos em hardware
Poucas estratégias para construçãode softwares
1960 - 1970Orçamento
Prazo Manutenção
Qualidade
Gerência
Requisitos
1960 - 1970Elaboração de técnicas de engenharia de software
Orientação a Objetos
Novas técnicas de gerência
1971 - 1975SmallTalk
Alan Curtis Kay
XEROX PARC
Samalltalk-72
Logo, Lisp e Simula-67
1975 - 1980SmallTalk
Revisão e ampliação
Criação de VMs:
HP, DEC, Apple, IBM…
this.comparações
Estruturado
Dados Comportamento
Entrada Saída
Programa
Dados
Estruturado
Escrita de Bibliotecas
Modularização
Estruturas de Dados
Estruturado
Depuração
Procedimentos bem definidos
Criação de Tipos de Dados
EstruturadoEscalabilidade
Reutilização de Código
Encapsulamento
Extensibilidade
Orientado a Objetos
Abstração
Reutilização
Crise do Software
Modularização
Entrada Saída
Programa
Orientado a Objetos
ReutilizávelManutenível
Natural
Confiável
Extensível
Oportuno
Orientado a Objetos
“Programação egoísta”
POO é linguagem
Medo de reutilizar
OO é solução para tudo
this.abstração
Problema Análise Características Solução
Abstração
Alice
nome
notas
frequência
tamanho do pé
tipo de sangue
peso
altura
média final
medida cintura
cor do cabelo[estudante]
Simplicidade
Construção de Modelos
OperaçõesClassificação
Decomposição
Generalização Associação
Instanciação
Composição
Classificação
portas
estacionarodas
ar-condicionado
motor
câmbio
placas
locomove
volante
≠
ClassificaçãoEstabelecimento de categorias de objetos com base em suas características comuns.
Origina classes
Instanciação Honda civic preto da Carol
Crossfox laranja do
Thiago
Hillux prata do Franzé
Generalização
Generalizaçãomédicos enfermeiros
Generalizaçãonome
endereço
telefone
salário
CRM
especialidade
consultas
nome
endereço
telefone
salário
CRE
médico enfermeiros
GeneralizaçãoCRM
especialidade
consultas
CRE
médico enfermeiros
nome
endereço
telefone
salário
funcionário
CRM
especialidade
consultas CRE
médico
enfermeiros
nome
endereço
telefone
salário
funcionário
GeneralizaçãoExtração de característicascomuns a um conjunto declasses para criar um classe mais genérica.
GeneralizaçãoRelação “é um tipo de…”
O médico é um tipo de funcionário.
O ônibus é um veículo.
GeneralizaçãoResponsável pelo estabelecimento de herança entre os objetos.
O médico possui um nome.
O enfermeiro possui um telefone.
CRM
especialidade
consultas CRE
médico
enfermeiros
nome
endereço
telefone
salário
funcionário
EspecializaçãoProcesso de identificação de características que especializam uma classe mais geral.
“inverso” da generalização.
Composiçãobateria
auto-falantes
sensores
tela
câmera
botões
ComposiçãoObjetos complexos são difíceis de criar, gerenciar e manter.
Reutilização!
ComposiçãoOperação que permite a união de vários objetos para compor um outro
agregaçãoassociação
Agregaçãomotor
roda
farol
retrovisor
câmbio
porta
todo partes
AgregaçãoCaracterizado pela relação “tem um”
Um carro tem um motor.
Um médico tem um nome.
AgregaçãoForteA existência do todo não faz sentido sem as partes.
nome, idade, sexo de uma pessoa.
Associação
editora escritor
contratar
Associação
editora escritor
contratar
Associação
editora
contratarescritor
Associação
editora escritor
contratar
escritor
contratar
Associação
editora
Associação
As partes e o todo existem independentemente.
produto e vendedor em uma mercantil.
Fraco
Decomposiçãohard drive
teclado
mouse
monitor
cpu
placa de vídeo
DecomposiçãoProcesso de identificação de entidades-todo de um objeto complexo.
this.objeto
atributos
métodos
estado interno
comportamento
Objeto
atributos
métodos
Objetobase do software
cumprem requisições
mensagens
requisição -> método
relacionamentos
variáveis
Atributo
inacessíveis diretamente
característica
comportamentoMétodo
invocado por mensagens
alteram ou não os valores dos atributos
número de olhos número de pés
número de dentes cor da pele
correr morder
piscar gritar
atirar gosma pular
representamoperações de abstração
Relacionamentos
Mensagens
Meio usado para os objetos se comunicarem.
Mensagens
Para cada mensagem enviada, deve haver uma resposta.
Mensagens
Representam “requisições"de serviços.
video player
file manager
open “mVideo.avi”
video player
file manager
objeto videoFile
requisiçãoargumentos
mensagem
emissorreceptor
professor.lecione()
cachorro.latir()
calculadora.divida(4, 2)
this.classe
Veículo
rodas
velocidade máxima
assentos
locomover
farol
buzinaconsumo
acelerar
trocar marcha
frenar
estacionar
abastecer
Abstração das características comuns de um tipo de objetos
Classeatributos
comportamentos
+
Classe
classe objeto
this.protocolos
this.exercícios