Daniel Ferber's Weblog

Entradas categorizadas em ‘Programação’

Membros de Interfaces Java sem segredo

3 Maio 2008 · Deixe um comentário

Este artigo discute o uso correto de modificadores ao declarar membros de uma interface em Java. As dúvidas recorrentes na declaração das próprias interfaces já foram abordadas em outro artigo.

Interfaces estabelecem um “contrato” de como as partes do programa interagem. Elas são um recurso fundamental para organizar código e para descrever uma API bem planejada. Maiores informações sobre interfaces encontram-se no capítulo sobre interfaces do “Sun’s Java Tutorial“.

Lendo código fonte java, sempre estranhei quantas palavras são necessárias para declarar um único membro de interface. Por exemplo, para adicionar uma constante à interface, costuma-se utilizar algo semelhante:

public interface IConstantesMatematicas {
   public static final float PI = 3.14;
}

Será que são mesmo necessários tantos modificadores (public, static e final)? Muitas simplificações são possíveis. Vamos estudar alguns casos.

(mais…)

Categorias: Java

Declarações de Interfaces Java sem segredo

28 Abril 2008 · Deixe um comentário

Este artigo discute algumas dúvidas recorrentes sobre os modificadores ao declarar interfaces para uma API (Application Programming Interface) em Java.

Interfaces estabelecem um “contrato” de como as partes do programa interagem. Elas são um recurso fundamental para organizar código e para descrever uma API bem planejada. Maiores informações sobre interfaces encontram-se no capítulo sobre interfaces do “Sun’s Java Tutorial“.

Ao trabalhar com o código fonte do Eclipse, notei que existe uma certa confusão sobre a forma correta de se declarar uma interface. A principal dificuldade está em decidir quais dos modificadores public, abstract e static devem ser utilizados. Cada programador acaba adotando seu próprio estilo, mas será que existe um estilo mais correto ou mais simples?

Alguém poderia questionar, por exemplo, se ela deveria ser abstrata, pública ou estática. Para mim, uma interface declarada como não-pública parece um contra-senso, pois o que adiantaria declarar a existência de métodos se eles não são acessíveis para outras partes do programa? Questões como estas são abordadas aqui.

A declaração da interface permite uma combinação dos modificadores public, protected, private, abstract e static. Existem restrições quanto ao uso correto destes modificadores. E há poucos casos práticos para utilizar todos eles. Muitas simplificações são possíveis. Vamos estudar alguns casos.

(mais…)

Categorias: Java