Static e boas praticas

6 respostas
M

Se eu tiver uma classe que for instanciar 1 unica vez no sistema inteiro, ou seja, usarei apenas 1 objeto daquela classe, é uma boa pratica eu tornar a classe toda estatica? Porque?

6 Respostas

natanaelv

Qual a responsabilidade dela? É só uma classe com métodos utilitários?

M

Então, eu estou estudando Java, e tenho alguns problemas com a OO ainda…quando devo utilizar metodos estaticos? Somente quando eles forem utilitários?

nel

Não necessariamente. Singleton é um exemplo de uma classe “não utilitária” que usa método estático.
Temos de cuidar com respostas/afirmações generalistas.

Algo que tu precisa ter em mente, é que algo estático pertence a classe e o que não é estático, pertence a instância.
O Java trabalha sobre um aspecto orientado a objetos, por isso é de comum uso evitar o uso estático. Todavia, normalmente classes utilitárias possuem métodos estáticos, fazendo com que você não precise de uma instância para acessar um “serviço”.

Procure ler sobre encapsulamento e programação orientada a objetos (POO) para entender melhor estes conceitos.
Abraços !

natanaelv

Se você precisa acessar o método sem um instância da classe, por exemplo,
se esse método não vai precisar ser sobrescrito (métodos static não podem ser),
se ele não acessa atributos ou se qualquer operação realizada não depende de instanciação.

Além disto podem existir outros motivos para criar métodos static.

No caso de classes utilitárias, é uma boa prática definir um construtor private para impedir a instanciação
e a criação de um construtor default.

Dá uma olhada nesse link:
http://my.safaribooksonline.com/book/programming/java/9780137150021/creating-and-destroying-objects/ch02lev1sec4

natanaelv

+1

NewScript

“Fazer” uma classe static só porque ela só será usada uma vez não é o objetivo do uso do modificador static. Procure ler sobre modificadores. Se não entender volte a postar…

Até.

Criado 16 de abril de 2013
Ultima resposta 16 de abr. de 2013
Respostas 6
Participantes 4