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.
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 …
J'ai récemment dû mettre à jour une classe de base abstraite sur un OSS que j'utilisais pour qu'il soit plus testable en les rendant virtuels (je ne pouvais pas utiliser une interface car elle en combinait deux). Cela m'a fait penser si je devais marquer toutes les méthodes dont j'avais …
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. …
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), …
Souvent, c'est une bonne idée d'avoir une classe de base abstraite pour isoler l'interface de l'objet. Le problème est que la construction de copie, à mon humble avis, est à peu près cassée par défaut en C ++, avec des constructeurs de copie générés par défaut. Alors, quels sont les …
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 …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.