Dicas para o projeto de classes no Java (parte 1)
Esta série de dicas irá tratar de detalhes importantes na modelagem e
no projeto das classes que comporão um determinado sistema. Fortalecendo
o conhecimento de quem esta acompanhando a série de artigos sobre
orientação a objetos no Java feitas por mim.
1. Mantenha os atributos das classes com acesso privado.
Quando trabalhamos com dados privados, podemos seguir a risca o conceito
de encapsulamento, pois são inacessíveis aos usuários da classe, deixando
o código mais "seguro", pois os mesmo não irão atribuir valores inconsistentes
aos atributos. Sendo assim teremos que usar os métodos conhecidos como
"acessor methods", ou seja, métodos que permitem ler o conteúdo armazenado
nestes atributos privados e os "mutator methods" que permitem modificar estes
atributos. Um exemplo de uma implementação consistente por estar utilizando eles seria:
// atributo
private double dimensao;
// mutator method ou método de escrita
public void setDimensao(double d) {
if(f>=0) {
dimensao = d;
}
// acessor method ou método de leitura
public double getDimensao() {
return dimensao;
}
Podemos observar que para um atributo com nome de dimensão, uma prática
interessante para padronização de código seria chamar o seu "acessor method"
de getDimensao() e o seu "mutator method" de setDimensao().
Ex: getNome; setEndereco.
2. Temos que estar atentos a atributos que não necessitam destes métodos de
acesso, mesmo sendo privados. Cabe ao programador analisar quando será
necessário fazer este tipo de acesso.
3. Quando temos atributos que não podem ser definidos como privados, podemos
definir eles como protegidos. Isso se for necessário que os métodos de acesso
de certos atributos sejam modificadas em classes derivadas ou se for
necessário utilizar diretamente estes atributos em classes derivadas. Um exemplo
simples seria:
// atributo
protected int numeros[];
// acessor method ou método de leitura
protected int getNumero(int index) {
return numeros[index];
}
//mutator method ou método de escrita
protected void setNumero(int index, int value) {
numeros[index] = value;
}
Outras dicas deste autor
Syslog no seu próprio console
SQL: UNION ALL vs UNION e ordenação
Generatedata - Populando base de dados para testes
Correção automática de comandos no bash
Forçando o uso do proxy com iptables
Leitura recomendada
Centralizar JFrame utilizando o NetBeans
Dicas para o projeto de classes no Java (parte 2)
Hospedando projetos open source com o site kenai.com usando o Netbeans 6.7
Caindo na real
Emissor de Nota Fiscal Eletrônica - Erro inesperado na execução
Comentários
Nenhum comentário foi encontrado.