Encapsulamento, Polimorfismo, Herança – Parte 02
Nesta artigo falaremmos sobre encapsulamento.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Encapsulamento, Polimorfismo, Herança – Parte 02
Encapsulamento
Encapsulamento vem de encapsular, que em programação
orientada a objetos significa separar o programa em partes, o mais isolado
possível. A idéia é tornar o software mais flexível, fácil de modificar e de
criar novas implementações. O Encapsulamento serve para controlar o acesso aos
atributos e métodos de uma classe. É uma forma eficiente de proteger os dados
manipulados dentro da classe, além de determinar onde esta classe poderá ser
manipulada. Usamos o nível de acesso mais restritivo, private, que faça sentido
para um membro particular. Sempre usamos private, a menos que tenhamos um bom
motivo para deixá-lo com outro nível de acesso. Não devemos permitir o acesso
público aos membros, exceto em caso de ser constantes. Isso porque membros
públicos tendem a nos ligar a uma implementação em particular e limita a nossa
flexibilidade em mudar o código. O encapsulamento que é dividido em dois
níveis:
· Nível de classe: Quando determinamos o acesso de uma classe inteira que pode ser public ou Package-Private (padrão);
· Nível
de membro: Quando determinamos o acesso de atributos ou métodos de uma classe
que podem ser public, private, protected ou Package-Private (padrão).
Então
para ter um método encapsulado utilizamos um modificador de acesso que
geralmente é public, além do tipo de retorno dele. Para se ter acesso a algum
atributo ou método que esteja encapsulado utiliza-se o conceito de get e set.
Por definição, com SET é feita uma atribuição a algum atributo, ou seja,
define, diz o valor que algum atributo deve ter. E com GET é possível recuperar esse valor.
Exemplo:
1. private String atributo1 = new String();
2. private String atributo2 = new String();
3. public String getAtributo1(){
4. return this.atributo1;
5. }
6. public String getAtributo2(){
7. return this.atributo2;
8. }
Exemplo:
1. public class Pessoa{
2. private String nome;
3. private String sobrenome;
4. private String dataNasc;
5. private String rg;
6. private String[] telefones;
7. public String getNome(){
8. return nome;
9. }
10. public void setNome(String n){
11. nome = n;
12. }
13. public String getSobrenome(){
14. return sobrenome;
15. }
16. public void setSobrenome(String s){
17. sobrenome = s;
18. }
19. public String getDataNasc(){
20. return dataNasc;
21. }
22. public void setDataNasc(String d){
23. dataNasc = d;
24. }
25. public String getRg(){
26. return rg;
27. }
28. public void setRg(String r){
29. r = rg;
30. }
31. public String getTelefones(){
32. return telefones;
33. }
34. public void setTelefones(String[] telefones){
35. telefones[] = telefones;
36. }
37. }
Hailton David Lemos
Hailton David Lemos (hailton@terra.com.br). Bacharel em Administração de Empresas, Tecnologo em Internet e Redes, Especialista em: T.I, Planejamento e Gestão Estratégica, Matemática e Estatistica. Trabalha com desenvolvimento de Sistema há mais de 20 anos, atualmente desenvolve sistemas especialista...



