Exemples langage
299
Dans ce cas, il est impossible d’instancier des objets de type A qui se comporte donc comme une classe
abstraite. Dans une classe dérivée de A, la méthode f devra, soit être définie, soit déclarée à nouveau virtuelle pure.
Interfaces
Java, C# et PHP disposent de la notion d’interface. Java et PHP utilisent le mot implements (là où nous
avons utilisé implémente). En revanche, C# utilise la même notation que pour l’héritage : si la classe A
implémente l’interface I, on écrira :
class A : I
C++ ne dispose pas de la notion d’interface. En revanche, il autorise l’héritage multiple. Lorsqu’une classe hérite plusieurs fois d’une autre, les attributs sont dupliqués par défaut. Pour éviter cette duplication, il faut prévoir
des « dérivations virtuelles ».
Exemples langage
Classes et méthodes abstraites
Voici, écrit en Java, C++, C# et PHP, le programme du paragraphe1.4, page 292.
Java
On dispose à la fois de la notion de classe abstraite (mot abstract) et de celle de méthode retardée
(même mot abstract).
abstract class Affichable
{ abstract public void affiche() ;
}
class Entier extends Affichable
{ public Entier (int n)
{ valeur = n ;
}
public void affiche()
{ System.out.println ("Je suis un entier de valeur " + valeur) ;
}
private int valeur ;
}
Précédent

- 322/370

Suivant