Encapsular Campo.
Você tem um campo público.
Torne o campo privado e crie métodos de acesso para ele.
##Example
class Person {
public String name;
}class Person {
private String name;
public String getName() {
return name;
}
public void setName(String arg) {
name = arg;
}
}##Why Refactor
Um dos pilares da programação orientada a objetos é o Encapsulamento, a capacidade de ocultar os dados de um objeto. Caso contrário, todos os objetos seriam públicos e outros objetos poderiam obter e modificar os dados do seu objeto sem qualquer controle! Os dados ficam separados dos comportamentos associados a eles, a modularidade das seções do programa é comprometida e a manutenção se torna complicada.
##Benefits
-
Se os dados e o comportamento de um componente estão estreitamente inter-relacionados e ficam no mesmo lugar no código, é muito mais fácil manter e desenvolver esse componente.
-
Você também pode realizar operações complexas relacionadas ao acesso aos campos do objeto.
##How to Refactor
-
Crie um getter e um setter para o campo.
-
Encontre todas as invocações do campo. Substitua a obtenção do valor do campo pelo getter e substitua a atribuição de novos valores ao campo pelo setter.
-
Depois que todas as invocações do campo tiverem sido substituídas, torne o campo privado.
Próximos Passos
Encapsular Campo é apenas o primeiro passo para aproximar os dados e os comportamentos que envolvem esses dados. Depois de criar métodos simples para acessar os campos, você deve revisar os lugares onde esses métodos são chamados. É bem possível que o código nessas áreas fique mais apropriado nos métodos de acesso.