Une classe abstraite ne peut pas être instanciée directement ; elle sert de modèle imposant à ses sous-classes l'implémentation de certaines méthodes.
Choisissez une approche :
En déclarant la classe avec abstract class et les méthodes sans corps avec le mot-clé abstract
abstract class déclare une classe non instanciable ; abstract avant une méthode impose son implémentation dans chaque sous-classe concrète.
En fournissant une implémentation partielle de certaines méthodes directement dans la classe abstraite
Une classe abstraite peut fournir des implémentations concrètes pour les comportements partagés, tout en laissant abstract les méthodes spécifiques à chaque sous-classe.