Na orientação a objetos existem os design patterns que são padrões projeto de código pautados em boas práticas. Dentre eles, está um chamado Singleton.
O objetivo deste exercício não é ainda se aprofundar os padrões de projeto, mas usar esse padrão (Singleton) como tema de estudo.
O Singleton é usado quando você deseja garantir que apenas uma instância (objeto) será criada de uma dada classe. Desse modo, é necessário se criar um mecanismo eficienciente no qual só seja possível se criar esse objeto único.
Registro
SingletonRetomando a classe Registro
a seguir, que foi usada como exemplo para criar um contador compartilhado entre diversos objetos. O desafio é manter o atributo contador
e o método proximoContador()
como não estáticos, mas adaptar a classe de modo que seja possível se criar apenas uma instância de Registro
. Com isso, obteremos o mesmo efeito de contador compartilhado, mas usando objetos. Isso será importante no futuro.
Você precisará usar métodos e atributos estáticos bem como precisará configurar o encapsulamento. Mas não deve transformar o atributo contador
nem o método proximoContador
em estáticos.
In [1]:
public class Registro {
int contador = 0;
int proximoContador() {
contador++;
return contador;
}
}
Out[1]: