Escolar Documentos
Profissional Documentos
Cultura Documentos
REFERÊNCIA E
ENCAPSULAMENTO
Linguagem de Programação II
Dário L. Beutler
dario.beutler@erechim.ifrs.edu.br
Objetivo da aula
Entender o acesso a objetos por referência e
os principais conceitos do encapsulamento.
Programa da aula
1 ) Objetos são acessados por referência
2) Os três pilares da POO
3) Encapsulamento
2
1) Objetos são acessados por
referência
Quando declaramos uma variável para associar a um
objeto, na verdade, essa variável não guarda o objeto, e
sim uma maneira de acessá-lo, chamada de referência.
Conta c2;
c2 = new Conta();
}
Por mais que se fale “eu tenho um objeto c1 do tipo Conta”, está
errado, o correto é “tenho uma referência c1 a um objeto do tipo
Conta”.
3
1) Objetos são acessados por
referência
public static void main(String[] args) {
Conta c1;
c1 = new Conta();
Conta c2;
c2 = new Conta();
}
c1 não é um objeto e sim uma variável referência
Em Java uma variável nunca é um objeto
Todo objeto em Java é acessado por uma variável referência
C1 e c2 vão guardar um número que identifica em que posição da
memória cada Conta se encontra
Assim, ao usarmos o “.”, o Java vai acessar a Conta que se encontra
naquela posição de memória, e não uma outra.
Por isso, para criarmos de fato objeto na memória é necessário dar
o comando new.
4
1) Objetos são acessados por
referência
public static void main(String[] args) {
Conta c1 = new Conta();
c1.deposita(100);
System.out.println(c1.saldo);
System.out.println(c2.saldo);
}
Exercicio:
a) Faça um teste deste código acima e diga qual é o resultado.
b) Explique o que aconteceu ?
5
1) Objetos são acessados por
referência
public static void main(String[] args) {
Conta c1 = new Conta();
c1.titular = "Duke";
c1.saldo = 227;
6
2) Os três pilares da POO
Importante!!!!
Para adotar uma estratégia de OO para o
desenvolvimento de software, você não pode
simplesmente sair programando.
7
2) Os três pilares da POO
Os três conceitos que precisam estar
presentes para que uma linguagem seja
considerada realmente OO:
1) Encapsulamento
2) Herança
3) Polimorfismo
8
3) Encapsulamento
Em vez de pensar um programa como uma única
entidade grande e monolítica, o encapsulamento
permite que você divida em várias partes menores e
independentes.
9
3) Encapsulamento
CONCEITO:
É a característica da OO de ocultar partes
independentes da implementação. O
encapsulamento permite que você construa partes
ocultas da implementação do software, que atinjam
uma funcionalidade e ocultam os detalhes da
implementação do mundo exterior.
1
3) Encapsulamento
TERMOS IMPORTANTES:
Interface – é a lista dos serviços fornecidos por um
componente. A interface é um contrato com o mundo exterior,
que define exatamente o que uma entidade externa pode fazer
com o objeto. É o painel de controle do objeto (o nome dos
métodos). A interface é semelhante a API (Interface de Programa Aplicativo)
para um objeto.
Implementação – define como um componente realmente
fornece um serviço. Define os detalhes internos do
componente (é o código dentro de cada método).
1
3) Encapsulamento
Um software encapsulado é como uma caixa preta.
1
3) Encapsulamento
A maioria das linguagens OO suporta três níveis de
acesso:
1
Exercícios
1) Crie na classe Conta um método chamado
calculaRendimento que não recebe parâmetro algum e
devolve o valor do saldo multiplicado por 0.1.
1
Exercícios
2) Use a classe Conta para testar o código do slide 5 e
responda as questões a e b do mesmo slide.
4) Classe: Pessoa
Atributos: nome, idade.
Método: void fazAniversario()
Depois de criada a classe, crie (instancie) um objeto da classe
pessoa, coloque seu nome e idade iniciais, faça alguns
aniversários (aumentando a idade) e imprima na tela seu nome e
sua idade.
1
Exercícios
5) Classe: Porta
Atributos: aberta, cor, dimensaoX, dimensaoY, dimensaoZ
Métodos: void abre()
void fecha()
void pinta(String s)
boolean estaAberta()