Uso dos métodos acessadores na própria classe  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
sobreira
Thread.start()
[Avatar]

Membro desde: 25/11/2008 12:02:41
Mensagens: 26
Offline

Saudações amigos do GUJ!

Essa dúvida me surgiu hoje. A implementação dos métodos da classe devem utilizar os acessadores de seus atributos ou o atributo em si? No exemplo abaixo seria (mais) correto utilizar o caso 1 ou 2?

This message was edited 1 time. Last update was at 20/01/2009 11:56:20


Fabiano S. Coelho
http://blog.sobreira.eti.br
[WWW]
LuksS
JavaTeenager
[Avatar]

Membro desde: 08/01/2008 10:55:41
Mensagens: 172
Offline

depende ... se vc implementar regras p/ o acesso e leitura dos atributos, o ideal é usar getters e setters, que irão encapsular sua lógica.

http://lucassimao.wordpress.com/
marcosharbs
Virtual Machine Man
[Avatar]

Membro desde: 01/08/2008 11:53:39
Mensagens: 645
Offline

bem nesse caso como vc esta acessando dentro da classe não teria diferença, mas eu sempre uso os metodos para acessar

======================================================

Blog com foco em desenvolvimento web com java.

http://marcosharbs.wordpress.com/

======================================================
LuksS
JavaTeenager
[Avatar]

Membro desde: 08/01/2008 10:55:41
Mensagens: 172
Offline

marcosharbs wrote:bem nesse caso como vc esta acessando dentro da classe não teria diferença, mas eu sempre uso os metodos para acessar

Ñ ?

http://lucassimao.wordpress.com/
marcobiscaro2112
JWizard

Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline

Exatamente o que foi dito: se você tivesse algo assim:


Porém no seu caso é indiferente.

Marco Biscaro.

Seja livre!

Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?

Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[Email] [WWW] [MSN]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Olhe por este lado:

Acessar atributos diretamente ou via métodos acessores dá na mesma coisa, mesmo que o atributo seja public, e uma classe externa o acesse.

O problema surge a partir do momento em que você tem que implementar regras para controlar o acesso:

se você tiver utilizando atributos, você terá que reimplementar toda a classe (caso eles fossem public, todo o sistema)
se você tiver utilizando métodos, somente precisará reimplementar um único método.

Pense nisso.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
sobreira
Thread.start()
[Avatar]

Membro desde: 25/11/2008 12:02:41
Mensagens: 26
Offline

Obrigado pelas respostas!

Então... o encapsulamento deve ser aproveitado inclusive na própria classe. Isto me garantirá uma manutenção menos traumática no futuro, mesmo em casos como no exemplo, onde a principio não haveria regras de controle de acesso.

Eu levantei a questão porque aqui no serviço tenho classes grandes onde há uma mistureba na forma como as variáveis privadas são acessadas dentro da própria classe, mesmo quando há métodos acessadores e isto tem dado um pouco de dor de cabeça na manutencão.

Fabiano S. Coelho
http://blog.sobreira.eti.br
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team