Escolar Documentos
Profissional Documentos
Cultura Documentos
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Encapsulamento e
modificadores
de acesso
23
Vamos finalizar o capítulo com exemplos e codificando em Java
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
nossa classe completa e encapsulada.
No entanto, nosso objeto está fora dessa classe, ou seja, ele foi cria-
do em alguma outra classe do nosso projeto, e para usufruir dos seus
métodos e atributos, o objeto deve ter acesso a eles. Porém, por moti-
vos de segurança, não é qualquer um que pode ter acesso aos elemen-
tos de uma classe.
float nota;
int frequencia;
String status;
}
}
2 Modificadores de acesso
De acordo com Barnes e Kolling (2010), encapsulamento é a técnica
que faz com que detalhes internos do funcionamento dos métodos de
uma classe permaneçam ocultos para os objetos.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
com dois tipos de modificadores de acesso: public e private.
Pessoa
- nome : String
- CPF : int
- email : String
+ getNome() : String
+ setNome(nome: String) : void
+ getCPF() : int
+ setCPF (cpf: int) : void
+ getEmail() : String
+ setEmail(email : String) : void
- Validar_CPF(cpf : int) : boolean
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Pessoa
P=
nome= “Clara”
Pessoa
P2=
nome= “João”
PARA PENSAR
getCPF() : int
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
capsulados como privados e que o objeto não pode acessá-lo.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
• Sempre que você passar por parâmetro uma variável com o mes-
mo nome da declarada na classe (email, por exemplo), use a pa-
lavra reservada this para fazer referência ao atributo da classe.
Exemplo:
this.nome = nome;
if (Validar_CPF(cPF))
CPF = cPF;
P.setNome(“Albert”);
P.setCPF(111222333);
P.setEmail(“albert@senac.com.br”);
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
encapsule os atributos e os métodos da classe Boletim conforme diagra-
ma de classes e faça os getters e os setters das classes Boletim, Aluno e
Professor. Além disso, tente chamar métodos encapsulados como priva-
dos com o objeto instanciado para verificar o que acontece.
Considerações finais
Encapsulamento é um dos principais componentes do paradigma
orientado a objetos e deve ser usado tanto como boas práticas de de-
senvolvimento como por recomendação da engenharia de software.
Os objetos, por sua vez, só conseguem ter acesso aos métodos públi-
cos de uma classe, que são também chamados de interface da classe.
DEITEL, Paul J.; DEITEL, Harvey M. Ajax, rich internet applications e desen-
volvimento web para programadores. 1. ed. São Paulo: Pearson Prentice Hall,
2008. (Série do Desenvolvedor).
DEITEL, Paul J.; DEITEL, Harvey M. Java: como programar. 8. ed. São Paulo:
Pearson Prentice Hall, 2010.