next up previous contents index
suivant: Un exemple monter: Extension et héritage précédent: Héritage des membres   Table des matières   Index


Extension d'une interface

Comme pour les classes, il y a une notion d'extension pour les interfaces. Comme une interface déclare des méthodes, étendre une interface permet de déclarer des méthodes supplémentaires. Ceci se fait également au moyen du mot-clé extends :

interface I1 { ... }
interface I2 extends I1 { ... }

On dit alors que I2 est une sous-interface directe de I1, ou qu'elle dérive de I1, et que I1 est une sur-interface directe de I2. L'effet de cette extension est que les déclarations de méthodes de I1 sont héritées par I24.2.

Une sous-interface d'une interface est considérée comme un sous-type de cette interface, ce qui permet d'utiliser une expression disposant de méthodes supplémentaires, là où seulement certaines de ces méthodes sont requises ; les affectations suivantes sont donc correctes :

    I2 y = ...;
    I1 x = y;
Dans ce cas, seules les méthodes déclarées par I1 pourront être invoquées sur x, alors que l'objet désigné par x dispose probablement d'autres méthodes. On dispose ainsi d'une notion d'abstraction graduelle.


next up previous contents index
suivant: Un exemple monter: Extension et héritage précédent: Héritage des membres   Table des matières   Index
Rene' LALEMENT 2002-11-07