Classes e Objetos - Cloud Object Storage · •Representam entidades do domínio •Possuem...
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/1.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/2.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/3.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/4.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/5.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/6.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/7.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/8.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/9.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/10.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/11.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/12.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/13.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/14.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/15.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/16.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/17.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/18.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/19.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/20.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/21.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/22.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/23.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/24.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/25.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/26.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022021809/5c0d104a09d3f2e9148d00a8/html5/thumbnails/27.jpg)
Exercícios...
•Modelar e implementar as classes
Cliente e Conta
•Modelar e implementar uma Pilha