DEV Community

Paula Santana
Paula Santana

Posted on

Java Efetivo - Constantes

Use as interfaces para definir tipos

Esta é uma série baseada no entendimento de tópicos relacionados ao livro com foco no resumo.

Interfaces

Sabemos que quando uma classe implementa uma interface, essa interface a qual ela implementou pode ser utilizada como um tipo.
Sempre precisamos ter em mente que ao criar uma interface podemos ter em mente o que será possível realizar com as instâncias das classes que a implementarem.
Vamos imaginar que temos classes que possuem um comportamente relacionado a pagamentos, ou seja, elas são pagáveis, isso indica que há classes que permitem ações relacionadas a esse assunto.

Image description

Não esta correto

O que não é considerado correto quando utilizamos interfaces.
Usarmos interfaces para qualquer outra coisa que não seja definir uma idéia do que seja possível realiza com as classes que a implementam.
Exemplo citado no livro é o de criação de "interface constante" onde o único objetivo é agrupamento de constantes para serem utilizadas por outras classes.
Essa abordagem não é considerada correta.

Isso porque interfaces deveriam conter constantes apenas para efeito de implementações internas e não para disponibilizar em suas implementações.
De qualquer forma há situações onde há precisaremos criar uma constante na interface e/ou classe e não devemos ter receio disso desde que realmente a constante esteja ligada diretamente com o propósito da classe e da interface.

Lembre-se

lembrando que a melhor maneira de criarmos constantes no Java são através de Enum ou como uma classe utilitária não instanciável.
E não considerando o uso de Interfaces para isso.
Interfaces devem ser utilizadas somente para definir tipos não para agrupamento de constantes.

Top comments (0)