A Orientação a Objetos propõe uma organização de software em termos de coleção de objetos discretos incorporando estrutura e comportamento próprios. Esta abordagem de organização é essencialmente diferente do desenvolvimento tradicional de software, onde estruturas de dados e rotinas são desenvolvidas de forma apenas fracamente acopladas.
Encapsulamento consiste em separar os aspectos externos de um objeto, os quais são acessíveis a outros objetos, dos detalhes internos de implementação do objeto, os quais permanecem escondidos dos outros objetos. O uso de encapsulamento evita que um programa torne-se tão interdependente que uma pequena mudança tenha grandes efeitos colaterais.
class Quadrado {
public int lado;
}
public class App {
public static void main(String[] args) {
Quadrado quadrado = new Quadrado();
/* isso aparentemente não causa erro, mas
* não é uma boa implementação de
* encapsulamento, pois, dessa forma, é
* possível inserir valores não
* desejáveis, que a classe talvez não
* esteja preparada para receber */
quadrado.lado = 1;
quadrado.lado = -1;
}
}
Para ter uma classe que possa ser alterada sem gerar muitos danos em outras classes que a estão utilizando, é necessário incluir encapsulamento, para isso deve-se:
· Manter as variáveis de instância protegidas (com algum modificador de acesso, normalmente private);
· Tornar público os métodos de acesso (getters e setters), forçando o código de chamada para usar esses métodos em vez de acessar diretamente a variável de instância;
· Usar a convenção JavaBean para os getters e setters.
class Retangulo {
//proteger as variáveis de instâncias
private int lado;
//métodos getters e setters públicos
public int getLado() {
return lado;
}
public void setLado(int lado) {
//tratamento do dado que será settado
if (lado < 0)
this.lado = 0;
else
this.lado = lado;
}
}
public class App2 {
public static void main(String[] args) {
Retangulo retangulo = new Retangulo();
retangulo.setLado(1);
}
}
Fonte: SCJP Sun Certifi ed Programmer for Java 6 Study Guide
0 comentários:
Postar um comentário