-
Interface c'est quoi???
Salutous, :D
Je ne parle pas des interfaces graphiques, textes ou autre.
Voila voila je me souvien avoir fait les interfaces en C++. Mais j'ai tout oublier :(.
En fait par exemple:
CMaClasse qui definit mon interface IMaClasse.
Et je ne me souvien plus de ce que c'est une interface.
Si vous pouviez m'aiguiller (ou m'expliquer) sur un site ou une FAQ, car en fait quand je tape "Interface en C++" sur google il me sort... les interfaces graphiques.
Merci:D
-
Une <Interface>, qui emprunte le mot au java, est une classe abstraite, qui possède une minimum ou toutes, je ne sais plus, ses fonctions virtuelles pures .
C'est en gros une classe que tu ne peux instancier. Elle est donc seulement destinée a être héritée.
-
D'accord c'est bien ce qu'il semblait me souvenir, si tu as un lien meme en Java je suis preneur.
Mais tu es sur que l'on peut pas instancier une Interface?
[Edit] j'ai vu il y a la definition dans la FAQ Java, je vais regarder
-
On ne peut pas instancier une interface, il n'y aucune fonction alors qu'elles devraient exister, donc ça ne marche pas.
Et le mot-clé interface est rajouté dans Visual C++ pour indiquer une classe dont les fonctions membres sont virtuelles pures - =0; -
-
De plus les données membres sont statiques et final.
-
En Java peut-être, mais là on parle de C++.
En C++, il ne devrait pas y avoir de variable membres.
-
Interface est un concept emprunté aux méthodologies objets.
En C++, il se met classiquement en oeuvre comme une classe abstraite (non implémentable, dont au moins une fonction membre est virtuelle pure) dont toutes les fonctions membre sont virtuelles pures. Il n'est pas rare de voir un "I" devant les noms de ces classes interface.
C++ permet aussi, nativement, la définition de contrats qui s'implémentent comme des classes abstraites dont les fonctions membre publiques :
- ne sont pas virtuelles,
- vérifient pré-, post-conditions et invariants,
- appellent des fonctions membre, virtuelles non publiques, en charge de réaliser le traitement attendu.