Questions marquées «abstract-class»

Une classe abstraite est une classe qui ne peut pas être instanciée. Ils sont généralement destinés à être étendus / sous-classes et ont généralement des «méthodes abstraites» qui doivent être implémentées par des sous-classes.

5
Est-il judicieux de définir une interface si j'ai déjà une classe abstraite?
J'ai une classe avec des fonctionnalités par défaut / partagées. J'utilise abstract classpour cela: public interface ITypeNameMapper { string Map(TypeDefinition typeDefinition); } public abstract class TypeNameMapper : ITypeNameMapper { public virtual string Map(TypeDefinition typeDefinition) { if (typeDefinition is ClassDefinition classDefinition) { return Map(classDefinition); } ... throw new ArgumentOutOfRangeException(nameof(typeDefinition)); } protected …


6
Quel code doit être inclus dans une classe abstraite?
Ces derniers temps, je m'inquiète de l'utilisation de classes abstraites. Parfois, une classe abstraite est créée à l'avance et fonctionne comme un modèle de fonctionnement des classes dérivées. Cela signifie, plus ou moins, qu'ils fournissent des fonctionnalités de haut niveau mais omettent certains détails à implémenter par les classes dérivées. …

3
Propriété abstraite dans la classe de base pour forcer le programmeur à la définir
Je code avec un modèle d'état pour un périphérique intégré. J'ai une classe de base / abstraite appelée État, puis chaque classe d'état discrète (concrète) implémente la classe d'État abstraite. Dans la classe d'état, j'ai plusieurs méthodes abstraites. Si je n'implémente pas les méthodes abstraites dans la classe discrète (concrète), …


6
Y a-t-il une différence entre les interfaces et les classes abstraites qui ont uniquement des méthodes abstraites?
Disons que nous avons une classe abstraite et que cette classe n'a que des méthodes abstraites. Cette classe abstraite est-elle différente d'une interface qui n'a que les mêmes méthodes? Ce que je cherche à savoir, c'est s'il y a des différences à la fois philosophiquement, objectivement et dans l'implémentation du …
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.