Héritage, méthodes virtuelles et abstraites [Résolu]

Signaler
Messages postés
17
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
9 août 2008
-
Messages postés
17
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
9 août 2008
-
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

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
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.
Messages postés
66
Date d'inscription
samedi 24 février 2007
Statut
Membre
Dernière intervention
7 octobre 2007

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.
Messages postés
17
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
9 août 2008

super, c'était très simple en fait ;)
merci à tous les deux