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.
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.
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.