Dans C#, quand devez-vous utiliser des interfaces et quand devez-vous utiliser des classes abstraites ? Quel peut être le facteur décisif ?
- L’interface de classe de Base de vs (5 réponses )
Réponses
Trop de publicités?Les classes abstraites et les interfaces sont sémantiquement différentes, bien que leur utilisation puisse se chevaucher.
Une classe abstraite est généralement utilisée comme base de construction pour des classes similaires. L'implémentation qui est commune pour les classes peut être dans la classe abstraite.
Une interface est généralement utilisée pour spécifier une capacité pour les classes, où les classes n'ont pas besoin d'être très similaires.
La vraie question est de savoir s'il faut utiliser des interfaces ou des classes de base. Cette question a déjà été abordée.
En C#, une classe abstraite (celle marquée du mot-clé "abstrait") est simplement une classe à partir de laquelle on ne peut pas instancier des objets. Cela a un but différent de celui de faire simplement la distinction entre les classes de base et les interfaces.