Héritage, méthodes virtuelles et abstraites

Résolu
memorial76 Messages postés 17 Date d'inscription jeudi 14 juin 2007 Statut Membre Dernière intervention 9 août 2008 - 27 juil. 2007 à 10:20
memorial76 Messages postés 17 Date d'inscription jeudi 14 juin 2007 Statut Membre Dernière intervention 9 août 2008 - 27 juil. 2007 à 17:21
Bonjour à tous,

je suis débutant en programmation, et je lis actuellement le cours de Di Scala en pdf qui est super bien fait. Seulement, il y a un petit point sur lequel j'aimerai être éclairé: quelle est la différence entre une méthode virtuelle et une méthode abstriate? dans quels cas utilise-t-on l'une plus que l'autre?
merci d'avance.

3 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
27 juil. 2007 à 10:25
Salut, principalement, une méthode abstraite n'a pas de corps, elle ne fait rien contrairement à une méthode virtuelle, c'est juste une déclaration, il faudra la substituer dans les classes dérivées. Si une classe contient une méthode abstraite elle devient elle aussi abstraite c-à-d qu'on ne pourra pas l'instancier, seulement en dériver.
3
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
27 juil. 2007 à 13:46
Salut,
- une méthode abstraite DOIS être dérivé pour être utilisé
- une méthode virtuelle PEUT être dérivé

Comme disait Lutinore, les méthodes abstraite ne contienne pas d'implémentation, donc non exécutable en l'état. De plus une classe abstraite ne peut pas être 'SEAL' par définition.

A plus.
3
memorial76 Messages postés 17 Date d'inscription jeudi 14 juin 2007 Statut Membre Dernière intervention 9 août 2008
27 juil. 2007 à 17:21
super, c'était très simple en fait ;)
merci à tous les deux
0
Rejoignez-nous