Herança e interfaces

Assim como ocorre com classes, interfaces Java também podem ser derivadas de outras interfaces -- a interface derivada declara métodos que devem ser adicionalmente definidos por classes que implementem a interface. Uma interface derivada pode estender diversas interfaces:

interface S1 { ... }

interface S2 { ... }

interface D extends S1, S2 { ... }

Enquanto Java limita que uma classe pode estender apenas uma superclasse, a linguagem não impõe limites com relação a quantas interfaces podem ser estendidas por outra interface ou implementadas por uma classe.

Quando mais de uma interface está sendo implementada, a sintaxe de declaração da classe especifica que as interfaces implementadas são separadas por vírgulas:

   class Derivada extends SuperClasse
         implements Interface1, Interface2 {
         ...
   }

Neste exemplo, a classe Derivada deve implementar todos os métodos da Interface1 e todos os métodos da Interface2. Adicionalmente, se SuperClasse também tiver métodos abstratos, esses também deverão ser implementados por métodos da classe Derivada.


© Ivan Luiz Marques Ricarte
DCA/FEEC/UNICAMP

Last modified: Wed Jun 28 18:11:43 EST 2000