Détails
Une classe abstraite peut-elle avoir un constructeur ?
Une classe abstraite peut-elle avoir un constructeur ?
Si oui, comment peut-il être utilisé et à quelles fins ?
581
3
Oui, une classe abstraite peut avoir un constructeur. Considérez ceci :
La super-classe
Produit
est abstraite et possède un constructeur. La classe concrèteTimesTwo
a un constructeur qui ne fait que coder en dur la valeur 2. La classe concrèteTimesWhat
a un constructeur qui permet à l'appelant de spécifier la valeur.Les constructeurs abstraits seront fréquemment utilisés pour faire respecter des contraintes ou des invariants de classe, tels que les champs minimums requis pour configurer la classe.
NOTE : Comme il n'y a pas de constructeur par défaut (ou no-arg) dans la classe parente
Oui, elle peut avoir un constructeur, qui est défini et se comporte comme le constructeur de toute autre classe. Sauf que les classes abstraites ne peuvent pas être directement instanciées, mais seulement étendues, et que l'utilisation se fait donc toujours à partir du constructeur d'une sous-classe.
Considérez ceci :
La superclasse est abstraite et possède un constructeur.