Uma das possíveis utilidades desse tipo de código é o compar...
int
PENNY = 1,
NICKEL = 5,
DIME = 10,
QUARTER = 25,
DOLAR = 100;
}
class SodaMachine implements Coins {
int price = 3*QUARTER;
// ...
}
Considerando o código Java acima, que implementa uma
interface sem modos definidos, julgue os itens seguintes.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
O código apresentado ilustra o uso de uma interface em Java denominada Coins, que contém constantes representando diferentes denominações de moedas. A utilização de interfaces para compartilhar constantes entre múltiplas classes é uma prática comum e aceitável em Java, embora não seja o único propósito do uso de interfaces.
Interfaces em Java são usadas principalmente para definir um contrato que outras classes devem seguir, ou seja, um conjunto de métodos que devem ser implementados. Entretanto, uma característica menos conhecida das interfaces é a habilidade de definir constantes, que são automaticamente public, static, e final. Isso significa que elas são acessíveis sem a necessidade de uma instância da interface, não podem ser alteradas e são visíveis publicamente.
No exemplo dado, a classe SodaMachine implementa a interface Coins e usa uma das constantes definidas na interface (QUARTER) para definir o preço de um produto. Isso permite que o valor de QUARTER seja centralizado na interface Coins, e que qualquer mudança nesse valor seja refletida em todas as classes que implementam essa interface.
A prática de usar interfaces para compartilhar constantes ajuda a manter o código organizado e evita a duplicação de valores constantes, facilitando a manutenção e o entendimento do código. Por isso, a afirmação de que "uma das possíveis utilidades desse tipo de código é o compartilhamento de constantes por diversas classes" está correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Sim, pois ao implementar a interface "Coins" as classes poderão acessar seus atributos.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo