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
Correção automática de comandos no bash
Monitorando o CPU no GNU/Linux em modo texto
PhpSecInfo - relatório de segurança de seu ambiente PHP
Descubra quem é o dono do IP através de um comando shell
Lynis - Auditoria de segurança Unix
Leitura recomendada
Hospedando projetos open source com o site kenai.com usando o Netbeans 6.7
Emissor de Nota Fiscal Eletrônica - Erro inesperado na execução
Dicas para o projeto de classes no Java (parte 2)
Instalação manual do Java (JRE) em 4 passos
Centralizar JFrame utilizando o NetBeans
Comentários
Nenhum comentário foi encontrado.