SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Programação Orientada a
Objetos
Professor Eng. Ms. Will Roger Pereira
1
Objetivos da aula
 Conhecimento sobre o domínio a ser considerado e a
aplicação;
 Objetos, atributos, métodos e classes;
 Analogias importantes para o paradigma OO;
2
Domínio e Aplicação
 Domínio: Conjunto de entidades, informações e processos
relacionados a um determinado contexto.
 Aplicação: Visa automatizar ou tornar factível as tarefas de
um domínio. É basicamente o “reflexo” de um domínio.
 Exemplo: Domínio bancário.
 Clientes, funcionários e contas.
3
Objetos
 Entidades identificadas no domínio devem ser representadas
de alguma forma dentro da aplicação.
 Aplicações OO: Entidades  Objetos.
 Uma aplicação orientada a objetos é composta por objetos.
 Em geral, um objeto representa uma entidade do domínio.
 Exemplo:
 Banco  Cliente chamado João.
 Aplicação OO  Deve existir um objeto para representar este
cliente.
4
Atributos
 Objeto possui informações importantes (características);
 Exemplo:
 Cliente João  Dados: Nome, data de nascimento, CPF e sexo.
 Objeto que representa o cliente deve possuir estas
informações importantes;
 Informações  Armazenados nos atributos do objeto;
 Um atributo é uma variável que pertence a um objeto.
 Os dados de um objeto são armazenados nos seus atributos.
 Variáveis em JAVA são tipadas.
5
Métodos
 O próprio objeto deve realizar operações de consulta ou
alteração dos valores de seus atributos.
 Essas operações são definidas nos métodos do objeto.
 Exemplos:
 Retornar o nome do cliente representado por um objeto cliente;
 Alterar o endereço atual do cliente.
6
Métodos
 Também são utilizados para possibilitar interações entre os
objetos de uma aplicação e para definir suas tarefas.
 Exemplo:
 Cliente requisita saque através de caixa eletrônico  Objeto que
representa o caixa eletrônico deve interagir com o objeto que
representa a conta do cliente.
7
Métodos
 Além disso, são utilizados para realizar quaisquer ações ou
funcionalidades do objeto.
 Exemplo:
 Deseja-se saber quanto dinheiro as aplicações do Cliente
renderam  Objeto que representa o Cliente deve calcular este
valor e mostrar na tela;
 O Cliente deseja abrir uma conta no banco  Objeto que
representa o Cliente deve abrir uma conta no banco;
 O Cliente deseja fazer um empréstimo  Objeto que representa
o Cliente faz um empréstimo.
8
Conclusão
 As informações de um objeto são armazenadas em seus
atributos;
 Um atributo é uma variável que pertence a um objeto.
 As tarefas que um objeto pode realizar são definidas pelos
seus métodos.
 Dentre estas tarefas estão a consulta e alteração dos valores
de seus atributos, além da interação entre objetos.
 Um objeto é composto por atributos e métodos.
 Uma aplicação OO é composta por objetos.
9
Mapeamento
Domínio-Aplicação  Banco
10
Mapeamento
Domínio-Aplicação  Banco
11
Conta
saldo = 10000.0
numero = 7
tipo = corrente
saca
deposita
transfere
geraExtrato
realizaPagamento
Tipo da
Entidade
Métodos
Atributos
Considerações Importantes
 Os objetos não representam apenas coisas concretas como
os clientes do banco. Eles também devem ser utilizados para
representar coisas abstratas, ideias, etc.
 Exemplos:
 Conta de um cliente;
 Serviço que o banco ofereça.
 Outros Exemplos:
 Figuras geométricas;
 Ordens de serviço de uma empresa;
 Disciplinas de um curso  Ex: POO;
 Um pedido em uma loja online. 12
Considerações Importantes
 Em geral, não é adequado utilizar o objeto que representa um
determinado cliente para representar outro cliente do banco,
pois os dados dos clientes podem ser diferentes.
 Dessa forma, para cada entidade existente no domínio,
deve existir um objeto dentro do sistema para
representá-lo.
 Neste caso, para cada cliente, cada conta e cada funcionário,
deve haver um objeto único representando-o.
13
Classes
 Antes de um objeto ser criado, deve-se definir quais serão os
seus atributos e métodos.
 Essa definição é realizada através de uma classe. Esta
classe servirá de modelo para os objetos criados a partir dela.
 A partir de uma classe, podemos construir objetos na
memória do computador que executa a nossa aplicação.
 Todos os objetos criados a partir de uma classe terão os
atributos e métodos definidos na classe.
 Os valores dos atributos de dois objetos criados a partir de
uma classe podem ser diferentes
14
Analogias Importantes
 Um objeto é como se fosse uma casa ou um prédio. Para ser
construído, precisa de um espaço físico.
 No caso das casas e dos prédios, o espaço físico é algum
terreno vazio.
 No caso dos objetos, esse espaço físico é algum trecho vago
da memória do computador que executa a aplicação.
15
Analogias Importantes
 Um prédio é construído a partir de uma planta criada por um
engenheiro ou arquiteto.
 Para criar um objeto, é necessário algo semelhante a uma
planta para que sejam “desenhados” os atributos e métodos
que o objeto deve ter.
 Em orientação a objetos, a “planta” de um objeto é o que
chamamos de classe.
 Uma classe funciona como um modelo ou uma “receita” para
criar objetos.
16
Analogias Importantes
17
Considerações Importantes
 Basicamente, as diferenças entre dois objetos criados a partir
de uma mesma classe são os valores dos seus atributos.
 Ex: Duas casas construídas a partir da mesma planta podem
possuir características diferentes.
18

Mais conteúdo relacionado

Destaque

Aula Programação Orientada a Objetos em Java
Aula Programação Orientada a Objetos em JavaAula Programação Orientada a Objetos em Java
Aula Programação Orientada a Objetos em JavaAparicio Junior
 
Aula sobre Programação Orientada a Objetos em Java
Aula sobre Programação Orientada a Objetos em JavaAula sobre Programação Orientada a Objetos em Java
Aula sobre Programação Orientada a Objetos em JavaAparicio Junior
 
Programação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoProgramação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoEvandro Júnior
 
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OOProgramação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OOCarlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Carlos Eduardo
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAAparicio Junior
 
Banco de Dados - Junções Externas e internas
Banco de Dados - Junções Externas e internasBanco de Dados - Junções Externas e internas
Banco de Dados - Junções Externas e internasAparicio Junior
 
Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHASAparicio Junior
 

Destaque (18)

Aula 1 7
Aula 1 7Aula 1 7
Aula 1 7
 
Aula 1 6
Aula 1 6Aula 1 6
Aula 1 6
 
Aula 1 3
Aula 1 3Aula 1 3
Aula 1 3
 
Aula 1 5
Aula 1 5Aula 1 5
Aula 1 5
 
Aula 2 2
Aula 2 2 Aula 2 2
Aula 2 2
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Aula Programação Orientada a Objetos em Java
Aula Programação Orientada a Objetos em JavaAula Programação Orientada a Objetos em Java
Aula Programação Orientada a Objetos em Java
 
Aula sobre Programação Orientada a Objetos em Java
Aula sobre Programação Orientada a Objetos em JavaAula sobre Programação Orientada a Objetos em Java
Aula sobre Programação Orientada a Objetos em Java
 
Aula 1 2
Aula 1 2Aula 1 2
Aula 1 2
 
Aula 1 1
Aula 1 1Aula 1 1
Aula 1 1
 
Programação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoProgramação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e Implementação
 
1501 1516-1438
1501 1516-14381501 1516-1438
1501 1516-1438
 
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OOProgramação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 
Banco de Dados - Junções Externas e internas
Banco de Dados - Junções Externas e internasBanco de Dados - Junções Externas e internas
Banco de Dados - Junções Externas e internas
 
Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHAS
 
Tips For the TOELF ITP
Tips For the TOELF ITPTips For the TOELF ITP
Tips For the TOELF ITP
 

Semelhante a Aula 1 4

Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POOAula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POOCloves da Rocha
 
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POOAula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POOCloves da Rocha
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Modelo Conceitual
Modelo ConceitualModelo Conceitual
Modelo Conceitualkottrim
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1Carlos Melo
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
aula03_uml_diagrama_classe.pdf
aula03_uml_diagrama_classe.pdfaula03_uml_diagrama_classe.pdf
aula03_uml_diagrama_classe.pdfAntonio Lobato
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosArthur Emanuel
 

Semelhante a Aula 1 4 (20)

Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POOAula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
 
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POOAula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
 
TESTE
TESTETESTE
TESTE
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
Modelo Conceitual
Modelo ConceitualModelo Conceitual
Modelo Conceitual
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Aula 01 introdução aoo
Aula 01   introdução aooAula 01   introdução aoo
Aula 01 introdução aoo
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
aula03_uml_diagrama_classe.pdf
aula03_uml_diagrama_classe.pdfaula03_uml_diagrama_classe.pdf
aula03_uml_diagrama_classe.pdf
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Introducao basica-linguagem-java
Introducao basica-linguagem-javaIntroducao basica-linguagem-java
Introducao basica-linguagem-java
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a Objetos
 

Mais de Aparicio Junior (17)

Mock test structure TOEFL ITP
Mock test structure TOEFL ITPMock test structure TOEFL ITP
Mock test structure TOEFL ITP
 
Mock test reading TOEFL ITP
Mock test reading TOEFL ITPMock test reading TOEFL ITP
Mock test reading TOEFL ITP
 
Mock Test Listening TOEFL ITP
Mock Test Listening TOEFL ITPMock Test Listening TOEFL ITP
Mock Test Listening TOEFL ITP
 
General view of the TOEFL ITP
General view of the TOEFL ITPGeneral view of the TOEFL ITP
General view of the TOEFL ITP
 
Lista 2 5
Lista 2 5Lista 2 5
Lista 2 5
 
Lista 2 4
Lista 2 4Lista 2 4
Lista 2 4
 
Tutorial instalacão java
Tutorial instalacão javaTutorial instalacão java
Tutorial instalacão java
 
Lista1 3 java
Lista1 3 javaLista1 3 java
Lista1 3 java
 
Lista 2 2 java
Lista 2 2 javaLista 2 2 java
Lista 2 2 java
 
Lista 1 9 java
Lista 1 9 javaLista 1 9 java
Lista 1 9 java
 
Lista 1 7 java
Lista 1 7 javaLista 1 7 java
Lista 1 7 java
 
Lista 1 6 java
Lista 1 6 javaLista 1 6 java
Lista 1 6 java
 
Lista 1 5 java
Lista 1 5 javaLista 1 5 java
Lista 1 5 java
 
Lista 1 4 java
Lista 1 4 javaLista 1 4 java
Lista 1 4 java
 
Lista 1 3 java
Lista 1 3 javaLista 1 3 java
Lista 1 3 java
 
Lista 1 2 java
Lista 1 2 javaLista 1 2 java
Lista 1 2 java
 
Códigos poo java
Códigos poo javaCódigos poo java
Códigos poo java
 

Último

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 

Último (9)

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Aula 1 4

  • 1. Programação Orientada a Objetos Professor Eng. Ms. Will Roger Pereira 1
  • 2. Objetivos da aula  Conhecimento sobre o domínio a ser considerado e a aplicação;  Objetos, atributos, métodos e classes;  Analogias importantes para o paradigma OO; 2
  • 3. Domínio e Aplicação  Domínio: Conjunto de entidades, informações e processos relacionados a um determinado contexto.  Aplicação: Visa automatizar ou tornar factível as tarefas de um domínio. É basicamente o “reflexo” de um domínio.  Exemplo: Domínio bancário.  Clientes, funcionários e contas. 3
  • 4. Objetos  Entidades identificadas no domínio devem ser representadas de alguma forma dentro da aplicação.  Aplicações OO: Entidades  Objetos.  Uma aplicação orientada a objetos é composta por objetos.  Em geral, um objeto representa uma entidade do domínio.  Exemplo:  Banco  Cliente chamado João.  Aplicação OO  Deve existir um objeto para representar este cliente. 4
  • 5. Atributos  Objeto possui informações importantes (características);  Exemplo:  Cliente João  Dados: Nome, data de nascimento, CPF e sexo.  Objeto que representa o cliente deve possuir estas informações importantes;  Informações  Armazenados nos atributos do objeto;  Um atributo é uma variável que pertence a um objeto.  Os dados de um objeto são armazenados nos seus atributos.  Variáveis em JAVA são tipadas. 5
  • 6. Métodos  O próprio objeto deve realizar operações de consulta ou alteração dos valores de seus atributos.  Essas operações são definidas nos métodos do objeto.  Exemplos:  Retornar o nome do cliente representado por um objeto cliente;  Alterar o endereço atual do cliente. 6
  • 7. Métodos  Também são utilizados para possibilitar interações entre os objetos de uma aplicação e para definir suas tarefas.  Exemplo:  Cliente requisita saque através de caixa eletrônico  Objeto que representa o caixa eletrônico deve interagir com o objeto que representa a conta do cliente. 7
  • 8. Métodos  Além disso, são utilizados para realizar quaisquer ações ou funcionalidades do objeto.  Exemplo:  Deseja-se saber quanto dinheiro as aplicações do Cliente renderam  Objeto que representa o Cliente deve calcular este valor e mostrar na tela;  O Cliente deseja abrir uma conta no banco  Objeto que representa o Cliente deve abrir uma conta no banco;  O Cliente deseja fazer um empréstimo  Objeto que representa o Cliente faz um empréstimo. 8
  • 9. Conclusão  As informações de um objeto são armazenadas em seus atributos;  Um atributo é uma variável que pertence a um objeto.  As tarefas que um objeto pode realizar são definidas pelos seus métodos.  Dentre estas tarefas estão a consulta e alteração dos valores de seus atributos, além da interação entre objetos.  Um objeto é composto por atributos e métodos.  Uma aplicação OO é composta por objetos. 9
  • 11. Mapeamento Domínio-Aplicação  Banco 11 Conta saldo = 10000.0 numero = 7 tipo = corrente saca deposita transfere geraExtrato realizaPagamento Tipo da Entidade Métodos Atributos
  • 12. Considerações Importantes  Os objetos não representam apenas coisas concretas como os clientes do banco. Eles também devem ser utilizados para representar coisas abstratas, ideias, etc.  Exemplos:  Conta de um cliente;  Serviço que o banco ofereça.  Outros Exemplos:  Figuras geométricas;  Ordens de serviço de uma empresa;  Disciplinas de um curso  Ex: POO;  Um pedido em uma loja online. 12
  • 13. Considerações Importantes  Em geral, não é adequado utilizar o objeto que representa um determinado cliente para representar outro cliente do banco, pois os dados dos clientes podem ser diferentes.  Dessa forma, para cada entidade existente no domínio, deve existir um objeto dentro do sistema para representá-lo.  Neste caso, para cada cliente, cada conta e cada funcionário, deve haver um objeto único representando-o. 13
  • 14. Classes  Antes de um objeto ser criado, deve-se definir quais serão os seus atributos e métodos.  Essa definição é realizada através de uma classe. Esta classe servirá de modelo para os objetos criados a partir dela.  A partir de uma classe, podemos construir objetos na memória do computador que executa a nossa aplicação.  Todos os objetos criados a partir de uma classe terão os atributos e métodos definidos na classe.  Os valores dos atributos de dois objetos criados a partir de uma classe podem ser diferentes 14
  • 15. Analogias Importantes  Um objeto é como se fosse uma casa ou um prédio. Para ser construído, precisa de um espaço físico.  No caso das casas e dos prédios, o espaço físico é algum terreno vazio.  No caso dos objetos, esse espaço físico é algum trecho vago da memória do computador que executa a aplicação. 15
  • 16. Analogias Importantes  Um prédio é construído a partir de uma planta criada por um engenheiro ou arquiteto.  Para criar um objeto, é necessário algo semelhante a uma planta para que sejam “desenhados” os atributos e métodos que o objeto deve ter.  Em orientação a objetos, a “planta” de um objeto é o que chamamos de classe.  Uma classe funciona como um modelo ou uma “receita” para criar objetos. 16
  • 18. Considerações Importantes  Basicamente, as diferenças entre dois objetos criados a partir de uma mesma classe são os valores dos seus atributos.  Ex: Duas casas construídas a partir da mesma planta podem possuir características diferentes. 18