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