Abstrakte Klassen sind Klassen, die nicht instanziiert werden können. Sie sind vorhanden, um mehreren konkreten Klassen gemeinsame Funktionen und Schnittstellenspezifikationen bereitzustellen.
Wir deklarieren eine reine virtuelle Funktion immer als: virtual void fun () = 0 ; Dh es wird immer 0 zugewiesen. Ich verstehe, dass dies dazu dient, den vtable-Eintrag für diese Funktion auf NULL zu initialisieren, und jeder andere Wert hier führt zu einem Fehler bei der Kompilierung. Ist dieses …
Wie teste ich die konkreten Methoden einer abstrakten Klasse mit PHPUnit? Ich würde erwarten, dass ich im Rahmen des Tests eine Art Objekt erstellen muss. Ich habe jedoch keine Ahnung, wie dies am besten funktioniert oder ob PHPUnit dies zulässt.
Gibt es eine Möglichkeit, eine abstrakte Klasse in der Swift-Sprache zu erstellen, oder ist dies eine Einschränkung wie bei Objective-C? Ich möchte eine abstrakte Klasse erstellen, die mit dem vergleichbar ist, was Java als abstrakte Klasse definiert.
Wie zeige ich in Visual Studio alle Klassen an, die von einer Basisklasse geerbt wurden? Zum Beispiel , in ASP.NET MVC gibt es mehrere ‚ Action ‘ Typen - und sie alle vererben / implementieren , um die Basisklasse ActionResult. Es sieht so aus, als ob Sie diese Informationen nicht …
Mein Testcode in C #: namespace DSnA { public abstract class Test : IComparable { } } Führt zu folgendem Compilerfehler: error CS0535: 'DSnA.Test' does not implement interface member 'System.IComparable.CompareTo(object)' Da die Klasse Testeine abstrakte Klasse ist , warum benötigt der Compiler sie, um die Schnittstelle zu implementieren? Sollte diese …
Ich möchte eine abstrakte Funktion in schneller Sprache erstellen. Ist es möglich? class BaseClass { func abstractFunction() { // How do I force this function to be overridden? } } class SubClass : BaseClass { override func abstractFunction() { // Override } }
Gibt es eine Möglichkeit, abstrakte Klasseneigenschaften in PHP zu definieren? abstract class Foo_Abstract { abstract public $tablename; } class Foo extends Foo_Abstract { //Foo must 'implement' $property public $tablename = 'users'; }
In Java passiert etwas Merkwürdiges, wenn Sie eine abstrakte Klasse zum Implementieren einer Schnittstelle verwenden: Einige der Methoden der Schnittstelle können vollständig fehlen (dh es ist weder eine abstrakte Deklaration noch eine tatsächliche Implementierung vorhanden), aber der Compiler beschwert sich nicht. Zum Beispiel angesichts der Schnittstelle: public interface IAnything { …
Ich weiß, dass es in Ruby kein Konzept für abstrakte Klasse gibt. Aber wenn es überhaupt implementiert werden muss, wie geht man vor? Ich habe so etwas wie versucht ... class A def self.new raise 'Doh! You are trying to write Java in Ruby!' end end class B < A …
Ich habe mich gefragt, was einen Programmierer dazu bringen würde, entweder Pimpl-Idiom oder reine virtuelle Klasse und Vererbung zu wählen. Ich verstehe, dass die Pimpl-Sprache eine explizite zusätzliche Indirektion für jede öffentliche Methode und den Aufwand für die Objekterstellung enthält. Die virtuelle Klasse Pure hingegen verfügt über eine implizite Indirektion …
Im folgenden Code erstelle ich eine abstrakte Basisklasse Base. Ich möchte, dass alle Klassen, die von erben Base, die nameEigenschaft bereitstellen , also habe ich diese Eigenschaft zu einer gemacht @abstractmethod. Dann habe ich eine Unterklasse von Basenamens erstellt Base_1, die einige Funktionen bereitstellen soll, aber dennoch abstrakt bleibt. Es …
Angenommen, dies KeyAdapterist eine abstrakte Klasse mit mehreren Methoden, die überschrieben werden können. In Java kann ich: KeyListener keyListener = new KeyAdapter() { @Override public void keyPressed(KeyEvent keyEvent) { // ... } }; Wie geht das in Kotlin?
In meiner Python-App möchte ich eine Methode erstellen, die sowohl a staticmethodals auch an ist abc.abstractmethod. Wie mache ich das? Ich habe versucht, beide Dekorateure anzuwenden, aber es funktioniert nicht. Wenn ich das mache: import abc class C(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod @staticmethod def my_function(): pass Ich bekomme eine Ausnahme …
Ich erinnere mich deutlich daran, dass die von Microsoft vorgebrachte Richtlinie einmal darin bestand, einer abstrakten Klasse das Suffix "Base" hinzuzufügen, um die Tatsache zu vermeiden, dass es abstrakt war. Daher haben wir Klassen wie System.Web.Hosting.VirtualFileBase, System.Configuration.ConfigurationValidatorBase, System.Windows.Forms.ButtonBase, und, natürlich, System.Collections.CollectionBase. Ich habe jedoch festgestellt, dass in letzter Zeit viele …
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.