Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem...

27
Aula 03 Classes e Objetos Professor: José Alexandre Macedo versão: 1.0

Transcript of Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem...

Page 1: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Aula 03

Classes e Objetos

Professor: José Alexandre Macedo

versão: 1.0

Page 2: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Domínio e Aplicação

•Domínio: entidades, informações e processos

relacionados a um contexto

•Aplicação: Desenvolvida para automatizar ou

tornar possível as tarefas de um domínio

Page 3: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Domínio e Aplicação

Aplicação DomínioReflexo

Page 4: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Domínio e Aplicação

Exemplo

Domínio

Bancário

Page 5: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Objetos

•Representam entidades do domínio

•Possuem atributos (variáveis)

•Armazenam dados

•Realizam operações (definidas nos métodos)

Page 6: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Objetos

•Um objeto é

composto por

atributos e métodos

Page 7: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Classes

• Define quais serão os seus atributos e

métodos de um objeto

• “receita” para criar objetos

•Molde...

Page 8: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Classes x Objetos

Classes constroem objetos

Page 9: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Uma classe em Java

Page 10: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Uma classe em Java

Atributos

Métodos

Page 11: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Outra classe em Java

Page 12: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Criando e usando um objeto

Para criar (construir, instanciar) um

objeto basta usar a palavra chave new

Page 13: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Criando e usando um objeto

Mas como acessar o objeto que foi criado?

Page 14: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Mas como acessar o objeto que foi criado?

Criando e usando um objeto

Para isso usamos uma variável que

vai referenciar esse objeto!

Page 15: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Criando e usando um objeto

Page 16: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Métodos

Page 17: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Testando os Métodos

Page 18: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Testando os Métodos

Invocação de

um atributo

Invocação de

um método

Page 19: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Objetos são acessados por referências

Page 20: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Objetos são acessados por referências

Variáveis guardam referências

e não objetos!

Page 21: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Os atributos também podem ser referências para outras classes

Page 22: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Controlando o acesso

Como proteger atributos de

modificações indevidas?

Page 23: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Controlando o acesso (Encapsulamento)

Utilizando o modificador

de acesso private!

Esses atributos não poderão ser

acessados diretamente por outras classes!

Page 24: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Controlando o acesso (Encapsulamento)

Modificadores são usados em

atributos, métodos e classes

Page 25: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Encapsulamento

Encapsulamento é fundamental

para que seu sistema seja

suscetível a mudanças

Page 26: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Encapsulamento

Resolvendo o problema do CPF...

Page 27: Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem atributos (variáveis) •Armazenam dados •Realizam operações (definidas nos métodos)

Exercícios...

•Modelar e implementar as classes

Cliente e Conta

•Modelar e implementar uma Pilha