Java aula 02
-
Upload
francisco-jose-a-c-souza -
Category
Education
-
view
97 -
download
0
Transcript of Java aula 02
![Page 1: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/1.jpg)
![Page 2: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/2.jpg)
![Page 3: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/3.jpg)
Orientação a
Objetos
![Page 4: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/4.jpg)
this.tópicos
![Page 5: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/5.jpg)
Orientação a ObjetosNoção Histórica
Paradigma Estruturado x Orientado a Objetos
AbstraçãoObjeto
Classe
![Page 6: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/6.jpg)
this.contexto
![Page 7: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/7.jpg)
1960 - 1970Império do Paradigma Estruturado
Grandes investimentos em hardware
Poucas estratégias para construçãode softwares
![Page 8: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/8.jpg)
1960 - 1970Orçamento
Prazo Manutenção
Qualidade
Gerência
Requisitos
![Page 9: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/9.jpg)
1960 - 1970Elaboração de técnicas de engenharia de software
Orientação a Objetos
Novas técnicas de gerência
![Page 10: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/10.jpg)
1971 - 1975SmallTalk
Alan Curtis Kay
XEROX PARC
Samalltalk-72
Logo, Lisp e Simula-67
![Page 11: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/11.jpg)
1975 - 1980SmallTalk
Revisão e ampliação
Criação de VMs:
HP, DEC, Apple, IBM…
![Page 12: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/12.jpg)
this.comparações
![Page 13: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/13.jpg)
Estruturado
Dados Comportamento
![Page 14: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/14.jpg)
Entrada Saída
Programa
Dados
![Page 15: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/15.jpg)
![Page 16: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/16.jpg)
Estruturado
Escrita de Bibliotecas
Modularização
Estruturas de Dados
![Page 17: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/17.jpg)
Estruturado
Depuração
Procedimentos bem definidos
Criação de Tipos de Dados
![Page 18: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/18.jpg)
EstruturadoEscalabilidade
Reutilização de Código
Encapsulamento
Extensibilidade
![Page 19: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/19.jpg)
Orientado a Objetos
Abstração
Reutilização
Crise do Software
Modularização
![Page 20: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/20.jpg)
Entrada Saída
Programa
![Page 21: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/21.jpg)
Orientado a Objetos
ReutilizávelManutenível
Natural
Confiável
Extensível
Oportuno
![Page 22: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/22.jpg)
Orientado a Objetos
“Programação egoísta”
POO é linguagem
Medo de reutilizar
OO é solução para tudo
![Page 23: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/23.jpg)
this.abstração
![Page 24: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/24.jpg)
![Page 25: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/25.jpg)
Problema Análise Características Solução
![Page 26: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/26.jpg)
Abstração
![Page 27: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/27.jpg)
Alice
nome
notas
frequência
tamanho do pé
tipo de sangue
peso
altura
média final
medida cintura
cor do cabelo[estudante]
![Page 28: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/28.jpg)
Simplicidade
![Page 29: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/29.jpg)
Construção de Modelos
![Page 30: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/30.jpg)
OperaçõesClassificação
Decomposição
Generalização Associação
Instanciação
Composição
![Page 31: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/31.jpg)
Classificação
![Page 32: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/32.jpg)
portas
estacionarodas
ar-condicionado
motor
câmbio
placas
locomove
volante
![Page 33: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/33.jpg)
≠
![Page 34: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/34.jpg)
ClassificaçãoEstabelecimento de categorias de objetos com base em suas características comuns.
Origina classes
![Page 35: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/35.jpg)
Instanciação Honda civic preto da Carol
Crossfox laranja do
Thiago
Hillux prata do Franzé
![Page 36: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/36.jpg)
Generalização
![Page 37: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/37.jpg)
Generalizaçãomédicos enfermeiros
![Page 38: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/38.jpg)
Generalizaçãonome
endereço
telefone
salário
CRM
especialidade
consultas
nome
endereço
telefone
salário
CRE
médico enfermeiros
![Page 39: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/39.jpg)
GeneralizaçãoCRM
especialidade
consultas
CRE
médico enfermeiros
nome
endereço
telefone
salário
funcionário
![Page 40: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/40.jpg)
CRM
especialidade
consultas CRE
médico
enfermeiros
nome
endereço
telefone
salário
funcionário
![Page 41: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/41.jpg)
GeneralizaçãoExtração de característicascomuns a um conjunto declasses para criar um classe mais genérica.
![Page 42: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/42.jpg)
GeneralizaçãoRelação “é um tipo de…”
O médico é um tipo de funcionário.
O ônibus é um veículo.
![Page 43: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/43.jpg)
GeneralizaçãoResponsável pelo estabelecimento de herança entre os objetos.
O médico possui um nome.
O enfermeiro possui um telefone.
![Page 44: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/44.jpg)
CRM
especialidade
consultas CRE
médico
enfermeiros
nome
endereço
telefone
salário
funcionário
![Page 45: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/45.jpg)
EspecializaçãoProcesso de identificação de características que especializam uma classe mais geral.
“inverso” da generalização.
![Page 46: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/46.jpg)
Composiçãobateria
auto-falantes
sensores
tela
câmera
botões
![Page 47: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/47.jpg)
ComposiçãoObjetos complexos são difíceis de criar, gerenciar e manter.
Reutilização!
![Page 48: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/48.jpg)
ComposiçãoOperação que permite a união de vários objetos para compor um outro
agregaçãoassociação
![Page 49: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/49.jpg)
Agregaçãomotor
roda
farol
retrovisor
câmbio
porta
todo partes
![Page 50: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/50.jpg)
AgregaçãoCaracterizado pela relação “tem um”
Um carro tem um motor.
Um médico tem um nome.
![Page 51: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/51.jpg)
AgregaçãoForteA existência do todo não faz sentido sem as partes.
nome, idade, sexo de uma pessoa.
![Page 52: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/52.jpg)
Associação
editora escritor
contratar
![Page 53: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/53.jpg)
Associação
editora escritor
contratar
![Page 54: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/54.jpg)
Associação
editora
contratarescritor
![Page 55: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/55.jpg)
Associação
editora escritor
contratar
![Page 56: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/56.jpg)
escritor
contratar
Associação
editora
![Page 57: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/57.jpg)
Associação
As partes e o todo existem independentemente.
produto e vendedor em uma mercantil.
Fraco
![Page 58: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/58.jpg)
Decomposiçãohard drive
teclado
mouse
monitor
cpu
placa de vídeo
![Page 59: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/59.jpg)
DecomposiçãoProcesso de identificação de entidades-todo de um objeto complexo.
![Page 60: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/60.jpg)
this.objeto
![Page 61: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/61.jpg)
atributos
métodos
estado interno
comportamento
Objeto
![Page 62: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/62.jpg)
atributos
métodos
Objetobase do software
cumprem requisições
mensagens
requisição -> método
![Page 63: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/63.jpg)
relacionamentos
![Page 64: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/64.jpg)
variáveis
Atributo
inacessíveis diretamente
característica
![Page 65: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/65.jpg)
comportamentoMétodo
invocado por mensagens
alteram ou não os valores dos atributos
![Page 66: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/66.jpg)
![Page 67: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/67.jpg)
número de olhos número de pés
número de dentes cor da pele
correr morder
piscar gritar
atirar gosma pular
![Page 68: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/68.jpg)
representamoperações de abstração
Relacionamentos
![Page 69: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/69.jpg)
Mensagens
Meio usado para os objetos se comunicarem.
![Page 70: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/70.jpg)
Mensagens
Para cada mensagem enviada, deve haver uma resposta.
![Page 71: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/71.jpg)
Mensagens
Representam “requisições"de serviços.
![Page 72: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/72.jpg)
video player
file manager
open “mVideo.avi”
![Page 73: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/73.jpg)
video player
file manager
objeto videoFile
![Page 74: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/74.jpg)
requisiçãoargumentos
mensagem
emissorreceptor
![Page 75: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/75.jpg)
professor.lecione()
cachorro.latir()
calculadora.divida(4, 2)
![Page 76: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/76.jpg)
this.classe
![Page 77: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/77.jpg)
![Page 78: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/78.jpg)
Veículo
![Page 79: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/79.jpg)
rodas
velocidade máxima
assentos
locomover
farol
buzinaconsumo
acelerar
trocar marcha
frenar
estacionar
abastecer
![Page 80: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/80.jpg)
Abstração das características comuns de um tipo de objetos
Classeatributos
comportamentos
+
![Page 81: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/81.jpg)
Classe
classe objeto
![Page 82: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/82.jpg)
this.protocolos
![Page 83: Java aula 02](https://reader031.fdocumentos.tips/reader031/viewer/2022021919/588610641a28abe63e8b52b9/html5/thumbnails/83.jpg)
this.exercícios