Als «abstract-class» getaggte Fragen

Abstrakte Klassen sind Klassen, die nicht instanziiert werden können. Sie sind vorhanden, um mehreren konkreten Klassen gemeinsame Funktionen und Schnittstellenspezifikationen bereitzustellen.


6
Testen abstrakter Klassen
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.



3
C #: Abstrakte Klassen müssen Schnittstellen implementieren?
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 …


9
PHP abstrakte Eigenschaften
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'; }
126 php  oop  abstract-class 

7
Warum kann eine abstrakte Klasse, die eine Schnittstelle implementiert, die Deklaration / Implementierung einer der Methoden der Schnittstelle übersehen?
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 { …

17
Wie implementiere ich eine abstrakte Klasse in Ruby?
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 …


10
Pimpl idiom vs Pure virtuelle Klassenschnittstelle
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 …



4
`staticmethod` und` abc.abstractmethod`: Wird es gemischt?
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 …

6
Namenskonventionen für abstrakte Klassen
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 …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.