83

Java aula 02

Embed Size (px)

Citation preview

Page 1: Java aula 02
Page 2: Java aula 02
Page 3: Java aula 02

Orientação a

Objetos

Page 4: Java aula 02

this.tópicos

Page 5: Java aula 02

Orientação a ObjetosNoção Histórica

Paradigma Estruturado x Orientado a Objetos

AbstraçãoObjeto

Classe

Page 6: Java aula 02

this.contexto

Page 7: Java aula 02

1960 - 1970Império do Paradigma Estruturado

Grandes investimentos em hardware

Poucas estratégias para construçãode softwares

Page 8: Java aula 02

1960 - 1970Orçamento

Prazo Manutenção

Qualidade

Gerência

Requisitos

Page 9: Java aula 02

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

1971 - 1975SmallTalk

Alan Curtis Kay

XEROX PARC

Samalltalk-72

Logo, Lisp e Simula-67

Page 11: Java aula 02

1975 - 1980SmallTalk

Revisão e ampliação

Criação de VMs:

HP, DEC, Apple, IBM…

Page 12: Java aula 02

this.comparações

Page 13: Java aula 02

Estruturado

Dados Comportamento

Page 14: Java aula 02

Entrada Saída

Programa

Dados

Page 15: Java aula 02
Page 16: Java aula 02

Estruturado

Escrita de Bibliotecas

Modularização

Estruturas de Dados

Page 17: Java aula 02

Estruturado

Depuração

Procedimentos bem definidos

Criação de Tipos de Dados

Page 18: Java aula 02

EstruturadoEscalabilidade

Reutilização de Código

Encapsulamento

Extensibilidade

Page 19: Java aula 02

Orientado a Objetos

Abstração

Reutilização

Crise do Software

Modularização

Page 20: Java aula 02

Entrada Saída

Programa

Page 21: Java aula 02

Orientado a Objetos

ReutilizávelManutenível

Natural

Confiável

Extensível

Oportuno

Page 22: Java aula 02

Orientado a Objetos

“Programação egoísta”

POO é linguagem

Medo de reutilizar

OO é solução para tudo

Page 23: Java aula 02

this.abstração

Page 24: Java aula 02
Page 25: Java aula 02

Problema Análise Características Solução

Page 26: Java aula 02

Abstração

Page 27: Java aula 02

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

Simplicidade

Page 29: Java aula 02

Construção de Modelos

Page 30: Java aula 02

OperaçõesClassificação

Decomposição

Generalização Associação

Instanciação

Composição

Page 31: Java aula 02

Classificação

Page 32: Java aula 02

portas

estacionarodas

ar-condicionado

motor

câmbio

placas

locomove

volante

Page 33: Java aula 02

Page 34: Java aula 02

ClassificaçãoEstabelecimento de categorias de objetos com base em suas características comuns.

Origina classes

Page 35: Java aula 02

Instanciação Honda civic preto da Carol

Crossfox laranja do

Thiago

Hillux prata do Franzé

Page 36: Java aula 02

Generalização

Page 37: Java aula 02

Generalizaçãomédicos enfermeiros

Page 38: Java aula 02

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

GeneralizaçãoCRM

especialidade

consultas

CRE

médico enfermeiros

nome

endereço

telefone

salário

funcionário

Page 40: Java aula 02

CRM

especialidade

consultas CRE

médico

enfermeiros

nome

endereço

telefone

salário

funcionário

Page 41: Java aula 02

GeneralizaçãoExtração de característicascomuns a um conjunto declasses para criar um classe mais genérica.

Page 42: Java aula 02

GeneralizaçãoRelação “é um tipo de…”

O médico é um tipo de funcionário.

O ônibus é um veículo.

Page 43: Java aula 02

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

CRM

especialidade

consultas CRE

médico

enfermeiros

nome

endereço

telefone

salário

funcionário

Page 45: Java aula 02

EspecializaçãoProcesso de identificação de características que especializam uma classe mais geral.

“inverso” da generalização.

Page 46: Java aula 02

Composiçãobateria

auto-falantes

sensores

tela

câmera

botões

Page 47: Java aula 02

ComposiçãoObjetos complexos são difíceis de criar, gerenciar e manter.

Reutilização!

Page 48: Java aula 02

ComposiçãoOperação que permite a união de vários objetos para compor um outro

agregaçãoassociação

Page 49: Java aula 02

Agregaçãomotor

roda

farol

retrovisor

câmbio

porta

todo partes

Page 50: Java aula 02

AgregaçãoCaracterizado pela relação “tem um”

Um carro tem um motor.

Um médico tem um nome.

Page 51: Java aula 02

AgregaçãoForteA existência do todo não faz sentido sem as partes.

nome, idade, sexo de uma pessoa.

Page 52: Java aula 02

Associação

editora escritor

contratar

Page 53: Java aula 02

Associação

editora escritor

contratar

Page 54: Java aula 02

Associação

editora

contratarescritor

Page 55: Java aula 02

Associação

editora escritor

contratar

Page 56: Java aula 02

escritor

contratar

Associação

editora

Page 57: Java aula 02

Associação

As partes e o todo existem independentemente.

produto e vendedor em uma mercantil.

Fraco

Page 58: Java aula 02

Decomposiçãohard drive

teclado

mouse

monitor

cpu

placa de vídeo

Page 59: Java aula 02

DecomposiçãoProcesso de identificação de entidades-todo de um objeto complexo.

Page 60: Java aula 02

this.objeto

Page 61: Java aula 02

atributos

métodos

estado interno

comportamento

Objeto

Page 62: Java aula 02

atributos

métodos

Objetobase do software

cumprem requisições

mensagens

requisição -> método

Page 63: Java aula 02

relacionamentos

Page 64: Java aula 02

variáveis

Atributo

inacessíveis diretamente

característica

Page 65: Java aula 02

comportamentoMétodo

invocado por mensagens

alteram ou não os valores dos atributos

Page 66: Java aula 02
Page 67: Java aula 02

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

representamoperações de abstração

Relacionamentos

Page 69: Java aula 02

Mensagens

Meio usado para os objetos se comunicarem.

Page 70: Java aula 02

Mensagens

Para cada mensagem enviada, deve haver uma resposta.

Page 71: Java aula 02

Mensagens

Representam “requisições"de serviços.

Page 72: Java aula 02

video player

file manager

open “mVideo.avi”

Page 73: Java aula 02

video player

file manager

objeto videoFile

Page 74: Java aula 02

requisiçãoargumentos

mensagem

emissorreceptor

Page 75: Java aula 02

professor.lecione()

cachorro.latir()

calculadora.divida(4, 2)

Page 76: Java aula 02

this.classe

Page 77: Java aula 02
Page 78: Java aula 02

Veículo

Page 79: Java aula 02

rodas

velocidade máxima

assentos

locomover

farol

buzinaconsumo

acelerar

trocar marcha

frenar

estacionar

abastecer

Page 80: Java aula 02

Abstração das características comuns de um tipo de objetos

Classeatributos

comportamentos

+

Page 81: Java aula 02

Classe

classe objeto

Page 82: Java aula 02

this.protocolos

Page 83: Java aula 02

this.exercícios