Exercício de única instância

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.

Tarefa do Registro Singleton

Retomando a classe Registro a seguir, que foi usada como exemplo para criar um contador compartilhado entre diversos objetos. O desafio é manter o atributo contadore 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]:
com.twosigma.beaker.javash.bkr43197d44.Registro