Les classes abstraites sont des classes qui ne peuvent pas être instanciées. Ils existent pour fournir des fonctionnalités communes et des spécifications d'interface à plusieurs classes concrètes.
Nous déclarons toujours une fonction virtuelle pure comme: virtual void fun () = 0 ; C'est-à-dire qu'il est toujours attribué à 0. Ce que je comprends, c'est qu'il s'agit d'initialiser l'entrée vtable pour cette fonction à NULL et que toute autre valeur ici entraîne une erreur de compilation. Cette compréhension …
Comment tester les méthodes concrètes d'une classe abstraite avec PHPUnit? Je m'attendrais à devoir créer une sorte d'objet dans le cadre du test. Cependant, je n'ai aucune idée de la meilleure pratique pour cela ou si PHPUnit le permet.
Existe-t-il un moyen de créer une classe abstraite dans le langage Swift, ou est-ce une limitation tout comme Objective-C? Je voudrais créer une classe abstraite comparable à ce que Java définit comme une classe abstraite.
Dans Visual Studio, comment afficher toutes les classes héritées d'une classe de base? Par exemple , dans ASP.NET MVC, il existe plusieurs types « ActionResult » - et ils héritent tous de / implémentent la classe de base ActionResult. Il semble qu'à moins que vous ne le «sachiez» simplement Viewet …
Mon code de test en C #: namespace DSnA { public abstract class Test : IComparable { } } Résultats dans l'erreur de compilateur suivante: error CS0535: 'DSnA.Test' does not implement interface member 'System.IComparable.CompareTo(object)' Puisque la classe Testest une classe abstraite , pourquoi le compilateur en a-t-il besoin pour implémenter …
Je voudrais créer une fonction abstraite dans un langage rapide. C'est possible? class BaseClass { func abstractFunction() { // How do I force this function to be overridden? } } class SubClass : BaseClass { override func abstractFunction() { // Override } }
Existe-t-il un moyen de définir des propriétés de classe abstraites en PHP? abstract class Foo_Abstract { abstract public $tablename; } class Foo extends Foo_Abstract { //Foo must 'implement' $property public $tablename = 'users'; }
Une chose curieuse se produit en Java lorsque vous utilisez une classe abstraite pour implémenter une interface: certaines méthodes de l'interface peuvent être complètement manquantes (c'est-à-dire qu'aucune déclaration abstraite ou implémentation réelle n'est présente), mais le compilateur ne se plaint pas. Par exemple, étant donné l'interface: public interface IAnything { …
Je sais qu'il n'y a pas de concept de classe abstraite en rubis. Mais s'il faut le mettre en œuvre, comment s'y prendre? J'ai essayé quelque chose comme ... class A def self.new raise 'Doh! You are trying to write Java in Ruby!' end end class B < A ... …
Je me demandais ce qui inciterait un programmeur à choisir l'idiome Pimpl ou la classe virtuelle pure et l'héritage. Je comprends que l'idiome pimpl est livré avec une indirection supplémentaire explicite pour chaque méthode publique et la surcharge de création d'objet. La classe virtuelle Pure en revanche est livrée avec …
Dans le code suivant, je crée une classe abstraite de base Base. Je veux que toutes les classes qui héritent de Basepour fournir la namepropriété, j'ai donc fait de cette propriété un @abstractmethod. Ensuite, j'ai créé une sous-classe de Base, appelée Base_1, qui est censée fournir des fonctionnalités, mais reste …
Supposons qu'il KeyAdapters'agit d'une classe abstraite avec plusieurs méthodes pouvant être remplacées. En java, je peux faire: KeyListener keyListener = new KeyAdapter() { @Override public void keyPressed(KeyEvent keyEvent) { // ... } }; Comment faire de même à Kotlin?
Dans mon application Python, je souhaite créer une méthode à la fois un staticmethodet un abc.abstractmethod. Comment puis-je faire cela? J'ai essayé d'appliquer les deux décorateurs, mais cela ne fonctionne pas. Si je fais ceci: import abc class C(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod @staticmethod def my_function(): pass J'obtiens une exception …
Je me souviens distinctement qu'à un moment donné, la directive préconisée par Microsoft était d'ajouter le suffixe «Base» à une classe abstraite pour éviter le fait qu'elle était abstraite. Par conséquent, nous avons des classes comme System.Web.Hosting.VirtualFileBase, System.Configuration.ConfigurationValidatorBase, System.Windows.Forms.ButtonBaseet, bien sûr, System.Collections.CollectionBase. Mais j'ai remarqué que, dernièrement, beaucoup de classes …
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.