Tag: inheritance

Vererbung ist das system in der objektorientierten Programmierung, das ermöglicht, Objekte zur Unterstützung von Operationen definiert, die von anterior-Typen, ohne Ihre eigene definition. Es ist der Haupt-Vektor für den Polymorphismus in der objektorientierten Programmierung.

Zugriff auf private Instanzvariablen des übergeordneten Objekts aus der untergeordneten Klasse?

Anzahl der Antworten 8 Antworten
Sagen wir, wir haben eine Klasse foo hat eine private Instanz-variable bar. Nun lassen Sie uns haben eine weitere Klasse bazdie extends foo. Können nicht-statische Methoden in baz Zugang foo's variable bar wenn es keine accessor-Methode definiert,

Python-Klasse erbt Objekt

Anzahl der Antworten 7 Antworten
Gibt es einen Grund für die Deklaration einer Klasse zu Erben aus object? Fand ich einige code, der dies tut und ich kann nicht finden, einen guten Grund, warum. class MyClass(object): # class code follows... InformationsquelleAutor der

Wie definiere ich die Standardimplementierung einer Schnittstelle in c #?

Anzahl der Antworten 3 Antworten
Gibt es einige black-magic-code in c#, wo Sie definieren können die default-Implementierung eines interfaces. Schreiben Sie var instance = new ISomeInterface(); Irgendwelche Hinweise? UPDATE 1: Hinweis, dass ich nicht Fragen, ob das eine gute Idee ist. Nur

Mehrfachvererbung aus zwei abgeleiteten Klassen

Anzahl der Antworten 5 Antworten
Habe ich eine abstrakte Basisklasse, die als eine Schnittstelle. Ich habe zwei "sets" von abgeleiteten Klassen implementieren die Hälfte von der abstrakten Klasse. ( ein "set" definiert, das die abstrakte virtuelle Methoden im Zusammenhang mit Initialisierung, die

Best Practices zum Definieren eigener Ausnahmeklassen?

Anzahl der Antworten 5 Antworten
Habe ich einige Besondere Ausnahme Fälle, ich will zu werfen und zu fangen, so möchte ich definieren, meine eigene exception-Klassen. Was sind die besten Methoden? Sollte ich Erben von std::exception oder std::runtime_error? InformationsquelleAutor der Frage Frank |

Typ kann nicht konvertiert werden: Warum muss zweimal gecastet werden?

Anzahl der Antworten 4 Antworten
Angesichts dieses sehr vereinfachte Beispiel: abstract class Animal { } class Dog : Animal { public void Bark() { } } class Cat : Animal { public void Mew() { } } class SoundRecorder<T> where T :

Komplexere Vererbung in YAML?

Anzahl der Antworten 2 Antworten
YAML hat die Vererbung. Das beste Beispiel, das ich je gesehen habe ist hier: http://blog.101ideas.cz/posts/dry-your-yaml-files.html Ich brauche etwas komplexer: ich muss zum überschreiben der Objekt-Objekt-Eigenschaft. Hier ist ein Beispiel: database: &default server: ip: 192.168.1.5 port: 2000 db_name:

Wie kann man die Klasse eines Objekts bestimmen?

Anzahl der Antworten 7 Antworten
Wenn die Klasse B und Klasse C verlängern Klasse A und ich haben ein Objekt von Typ B oder Cwie kann ich bestimmen welche Art es ist, eine Instanz? InformationsquelleAutor der Frage carrier | 2009-02-12

Gibt es eine Möglichkeit, die übergeordnete Methode einer überschriebenen Methode aufzurufen? (C # .NET)

Anzahl der Antworten 8 Antworten
Im code unten habe ich versucht, in zwei Möglichkeiten, um den Zugriff auf die übergeordnete version methodTwo, aber das Ergebnis war immer 2. Gibt es eine Möglichkeit, um die 1 Resultat aus einer ChildClass Instanz, ohne die

In Python kann nicht auf die übergeordnete Elementvariable zugegriffen werden

Anzahl der Antworten 2 Antworten
Ich versuche, auf einer übergeordneten member-variable aus einer erweiterten Klasse. Aber mit dem folgenden code... class Mother(object): def __init__(self): self._haircolor = "Brown" class Child(Mother): def __init__(self): Mother.__init__(self) def print_haircolor(self): print Mother._haircolor c = Child() c.print_haircolor() Wird mir

C ++ - Datenausrichtung / Mitgliedsreihenfolge & amp; Erbe

Anzahl der Antworten 8 Antworten
Wie können die Mitglieder ausgerichtet /bestellt, wenn die Vererbung /Mehrfachvererbung verwendet wird? Ist das compiler-spezifisch ist? Gibt es eine Möglichkeit zu geben in einer abgeleiteten Klasse, wie die Mitglieder (einschließlich der Mitglieder von der Basis-Klasse) in Auftrag

Schnittstellen und abstrakte Klassenvererbung, Implementierung in erweiterten Klassen

Anzahl der Antworten 5 Antworten
In jedem Beispiel, das ich gesehen habe, erweiterten Klassen implementieren die Schnittstellen von Ihren Eltern. Für das Referenz -, das folgende Beispiel: interface MyInterface{ public function foo(); public function bar(); } abstract class MyAbstract implements MyInterface{ public

Was ist ein einfaches Beispiel für die einfache Vererbung mit dem Schlüsselwort super () in Python?

Anzahl der Antworten 2 Antworten
Sagen wir, ich habe die folgenden Klassen eingerichtet: class Foo: def __init__(self, frob, frotz): self.frobnicate = frob self.frotz = frotz class Bar: def __init__(self, frob, frizzle): self.frobnicate = frob self.frotz = 34 self.frazzle = frizzle Wie kann

C # -Fehler: Parent enthält keinen Konstruktor, der 0 Argumente akzeptiert

Anzahl der Antworten 6 Antworten
Mein code ist public class Parent { public Parent(int i) { Console.WriteLine("parent"); } } public class Child : Parent { public Child(int i) { Console.WriteLine("child"); } } Bin ich immer die Fehlermeldung: Eltern enthält keinen Konstruktor, der

Python: Übernehme die Superklasse __init__

Anzahl der Antworten 7 Antworten
Ich habe eine base-Klasse mit viel __init__ Argumente: def BaseClass(object): def __init__(self, a, b, c, d, e, f, ...): self._a=a+b self._b=b if b else a ... Alle erbenden Klassen, die ausgeführt werden soll __init__ Methode der Basisklasse.

Wie unterscheidet sich __proto__ von constructor.prototype?

Anzahl der Antworten 7 Antworten
function Gadget(name, color) { this.name = name; this.color = color; } Gadget.prototype.rating = 3 var newtoy = new Gadget("webcam", "black") newtoy.constructor.prototype.constructor.prototype.constructor.prototype Es gibt immer das Objekt mit dem rating = 3. Aber wenn ich den folgenden Code:

Zusammensetzung, Vererbung und Aggregation in JavaScript

Anzahl der Antworten 3 Antworten
Es gibt eine Menge von Informationen über Komposition vs. Vererbung-online, aber ich habe nicht gefunden anständige Beispiele mit JavaScript. Anhand der folgenden code veranschaulicht die Vererbung: function Stock( /* object with stock names and prices */ )

util.inherits - Alternative oder Workaround

Anzahl der Antworten 4 Antworten
Ich bin ein n00b in Knoten, und finden Sie util.inherits() sehr nützlich, außer der Tatsache, dass es scheint, zu ersetzen, der gesamte Prototyp des ursprünglichen Objekts. Zum Beispiel: var myClass = function(name){ this._name = name; }; myClass.prototype

Warum muss eine in einer Klasse implementierte C # -Schnittstellenmethode öffentlich sein?

Anzahl der Antworten 3 Antworten
Habe ich eine Klasse, die erbt eine Schnittstelle. Eine Schnittstelle Element-Methode implementiert, in meiner Klasse ohne einen access-modifier (also, standardmäßig ist es "privat"). Bin ich immer die Fehlermeldung "kann eine Schnittstelle implementieren, Mitglied, weil es nicht öffentlich

Warum erweitert jedes Objekt in Java die Klasse java.lang.Object implizit?

Anzahl der Antworten 10 Antworten
Ich programmiere in Java für einige Zeit, aber als ich versuchte zu erklären, was ein java.lang.Object Klasse einen Freund, ich konnte nicht kommen mit mehr als einem einfachen Einzeiler: Alle Objekte in Java erweitern java.lang.Object implizit War

C # interface static method Aufruf mit Generics

Anzahl der Antworten 7 Antworten
Gibt es eine einfache Möglichkeit dies umzusetzen, und, wenn möglich, ohne instanciating ein Objekt : interface I { static string GetClassName(); } public class Helper { static void PrintClassName<T>() where T : I { Console.WriteLine(T.GetClassName()); } }

C # Casting einer Liste & lt; ObjBase & gt; als Liste & lt; Obj & gt;

Anzahl der Antworten 11 Antworten
Warum kann ich nicht werfen einen List<ObjBase> als List<Obj>? Warum funktioniert das folgende nicht funktionieren: internal class ObjBase { } internal class Obj : ObjBase { } internal class ObjManager { internal List<Obj> returnStuff() { return getSomeStuff()

Rufen Sie den abgeleiteten Klassentyp von der statischen Klassenmethode einer Basis ab

Anzahl der Antworten 8 Antworten
möchte ich, um den Typ der abgeleiteten Klasse aus, eine statische Methode der Basisklasse. Wie kann dies erreicht werden? Dank! class BaseClass { static void Ping () { Type t = this.GetType(); //should be DerivedClass, but it

Die Unterklasse der Klasse mit der synthetisierten Eigenschaft readonly kann nicht auf die Instanzvariable in Objective-C zugreifen

Anzahl der Antworten 3 Antworten
In der Oberklasse MyClass: @interface MyClass : NSObject @property (nonatomic, strong, readonly) NSString *pString; @end @implementation MyClass @synthesize pString = _pString; @end In der Unterklasse MySubclass @interface MySubclass : MyClass @end @implementation MySubclass - (id)init { if

Warum weisen wir dem untergeordneten Objekt in Java einen übergeordneten Verweis zu?

Anzahl der Antworten 8 Antworten
Frage ich eine ganz einfache Frage, aber ich bin etwas verwirrt. Angenommen ich habe eine Klasse Parent: public class Parent { int name; } Haben und eine andere Klasse Child.java: public class Child extends Parent{ int salary;

Werden private Mitglieder in C # geerbt?

Anzahl der Antworten 14 Antworten
Gerade gesehen in einem tutorial gesagt: Class Dog { private string Name; } Class SuperDog:Dog { private string Mood; } Dann gab es eine UML-Darstellung, die SuperDog Erben Namen. Ich habe versucht, aber mir scheint es, dass

Was ist der Vererbungsort in Python?

Anzahl der Antworten 11 Antworten
Angenommen, Sie haben die folgende situation #include <iostream> class Animal { public: virtual void speak() = 0; }; class Dog : public Animal { void speak() { std::cout << "woff!" <<std::endl; } }; class Cat : public

Was ist falsch mit Overridable-Methodenaufrufen in Konstruktoren?

Anzahl der Antworten 7 Antworten
Ich habe eine Wicket-Seite-Klasse, legt den Titel der Seite abhängig von dem Ergebnis einer abstrakten Methode. public abstract class BasicPage extends WebPage { public BasicPage() { add(new Label("title", getTitle())); } protected abstract String getTitle(); } NetBeans warnt

Rufen Sie den übergeordneten Konstruktor vor dem Kindkonstruktor in PHP auf

Anzahl der Antworten 4 Antworten
Ich Frage mich, wenn seine möglich, den Anruf der Eltern __construct(), bevor das Kind die __construct() mit Vererbung in PHP. Beispiel: class Tag { __construct() { //Called first. } } class Form extends Tag { __construct() {

Initialisieren einer anonymen Klasse mit einem Merkmal

Anzahl der Antworten 2 Antworten
Kann mir jemand helfen zu verstehen, das folgende Verhalten? Einfach ausgedrückt: was ist der Unterschied zwischen den folgenden zwei Fällen, in denen... Ich definieren eine einfache Klasse c + trait t scala> class c {val x=true; val

Ist es möglich, JPA-Annotationen zu Superklasseninstanzvariablen hinzuzufügen?

Anzahl der Antworten 4 Antworten
Ich bin erstellen von Entitäten, die derselben für zwei verschiedene Tabellen. Um die Tabelle Zuordnungen etc. für die beiden unterschiedlichen Entitäten, sondern nur der rest des Codes an einem Ort - eine abstrakte Oberklasse. Die beste Sache

XAML UserControl-Vererbung

Anzahl der Antworten 2 Antworten
Kommen aus Java, ich bin wirklich verwendet werden, um eine gängige Praxis wenn es um GUI-Komponenten: ich in der Regel tun, irgendeine Art von Basis-Klasse, die enthält alle gemeinsamen Objekte für meine GUI-Komponenten und dann erweitere ich

XML-Serialisierung und vererbte Typen

Anzahl der Antworten 7 Antworten
Im Anschluss an meine Vorherige Frage ich habe daran gearbeitet, meine Objekt-Modell zu serialisieren nach XML. Aber ich habe jetzt ein problem (quelle überraschung!). Habe ich das problem, dass ich habe eine Sammlung, die von einer abstrakten

Verwendung von .apply () mit dem Operator 'new'. Ist das möglich?

Anzahl der Antworten 30 Antworten
In JavaScript, ich möchte, um eine Objektinstanz zu erstellen (über die new - operator), sondern übergeben Sie eine beliebige Anzahl von Argumenten an den Konstruktor übergeben. Ist das möglich? Was ich tun möchte, ist etwas, wie hier

C #: Interface-Vererbung Getter / Setter

Anzahl der Antworten 4 Antworten
Habe ich eine Reihe von Schnittstellen, die verwendet werden, in enger Verbindung mit bestimmten veränderliches Objekt. Viele Benutzer des Objekts benötigen nur die Fähigkeit zum Lesen von Werten aus dem Objekt, und dann nur ein paar Eigenschaften.

Wie wird der Elternkonstruktor aufgerufen?

Anzahl der Antworten 5 Antworten
Let ' s sagen, ich habe das folgende code-snippet. function test(id) { alert(id); } testChild.prototype = new test(); function testChild(){} var instance = new testChild('hi'); Ist es möglich, sich alert('hi')? Ich bekomme undefined jetzt. InformationsquelleAutor der Frage

Wie verwende @inherited Annotation in Java?

Anzahl der Antworten 1 Antworten
Bin ich nicht immer die @Inherited annotation in Java. Wenn es automatisch erbt die Methoden, die für Sie dann, wenn ich die Notwendigkeit zur Umsetzung der Methode in meinen eigenen Weg, was ist dann das ? Wie

Was ist * so * falsch bei der Vererbung von Fallklassen?

Anzahl der Antworten 2 Antworten
Während der Suche für etwas anderes, ganz aus Zufall stieß ich auf einige Kommentare darüber, wie teuflisch Fall Klasse Vererbung ist. Es war dieses Ding, genannt ProductN , Schweine und Könige, Elfen und Zauberer und wie eine

Warum wird der Standardkonstruktor in der virtuellen Vererbung aufgerufen?

Anzahl der Antworten 1 Antworten
Ich verstehe nicht, warum in dem folgenden code, wenn ich instantiieren eines Objekts vom Typ daughter die Standard - grandmother() Konstruktor aufgerufen wird ? Dachte ich, dass entweder die grandmother(int) Konstruktor aufgerufen werden soll (Folgen Sie der

Python 2.x super __init__ Vererbung funktioniert nicht, wenn das Elternelement nicht vom Objekt erbt

Anzahl der Antworten 3 Antworten
Habe ich das folgende Python-2.7-code: class Frame: def __init__(self, image): self.image = image class Eye(Frame): def __init__(self, image): super(Eye, self).__init__() self.some_other_defined_stuff() Ich versuche zu erweitern, die __init__() - Methode so, dass beim instanziieren ich ein "Auge", es

Werden die Mixin-Klasse __init__ Funktionen nicht automatisch aufgerufen?

Anzahl der Antworten 3 Antworten
Ich würde gerne auf einen Mixin immer fügen Sie einige init-Funktionalität für mein Kind-Klassen, die die einzelnen Erben aus verschiedenen Basis-API Klassen. Speziell möchte ich mehrere verschiedene child-Klassen, Erben von dieser verschiedenen API bereitgestellten Basisklassen und die

Was ist der Sinn einer privaten rein virtuellen Funktion?

Anzahl der Antworten 5 Antworten
Stieß ich auf den folgenden code in eine header-Datei: class Engine { public: void SetState( int var, bool val ); { SetStateBool( int var, bool val ); } void SetState( int var, int val ); { SetStateInt(

Wie kann man eine Klasse erweitern, ohne Super in ES6 verwenden zu müssen?

Anzahl der Antworten 6 Antworten
Ist es möglich, eine Klasse erweitern, in ES6 ohne aufrufen der super Methode zum aufrufen des parent-Klasse? EDIT: Die Frage könnte irreführend sein. Ist es der standard, den wir haben, zu nennen super() oder bin ich etwas

Builder-Muster und Vererbung

Anzahl der Antworten 5 Antworten
Ich habe eine Objekt-Hierarchie, erhöht die Komplexität der vererbungsstruktur vertieft. Keine von diesen sind Abstrakt, also alle Ihre Instanzen dienen, mehr oder weniger anspruchsvolle, Zweck. Als die Anzahl der Parameter ist Recht hoch, ich würde wollen, verwenden

Best Practice für Vererbung: * args, ** kwargs oder explizite Angabe von Parametern

Anzahl der Antworten 5 Antworten
Ich finde mich oft überschreiben von Methoden der übergeordneten Klasse und kann nie entscheiden, ob ich sollte explizit auf der Liste von Parametern oder verwenden Sie einfach eine Decke *args, **kwargs konstruieren. Ist eine version besser als

Wie funktioniert die Vererbungsmodellierung in relationalen Datenbanken?

Anzahl der Antworten 5 Antworten
Meine Frage ist in Bezug auf die Vererbung Modellierung in Relationalen Datenbank-Systemen. Ich habe kanonischen Datenmodell und in diesem habe ich einige Felder, die im Zusammenhang mit der Preisgestaltung von Produkt Erben bestimmte Attribute aus der Produkt-Tabelle

Wie funktionieren Java-Methodenanmerkungen in Verbindung mit dem Überschreiben von Methoden?

Anzahl der Antworten 4 Antworten
Habe ich eine übergeordnete Klasse Parent - und eine Kind-Klasse Childso definiert: class Parent { @MyAnnotation("hello") void foo() { //implementation irrelevant } } class Child { @Override foo() { //implementation irrelevant } } Wenn ich zu einem

base () und this () Konstruktoren Best Practices

Anzahl der Antworten 5 Antworten
Unter welchen Bedingungen soll ich machen, die :base() und :this() Konstruktor ruft nach meinem Konstruktor Klammern (oder auch in anderen stellen im code). Wann werden Sie diese Anrufe von good practices und Wann sind Sie Pflicht? InformationsquelleAutor

Python-Vererbung: TypeError: Objekt .__ init __ () übernimmt keine Parameter

Anzahl der Antworten 1 Antworten
Bekomme ich diesen Fehler: TypeError: object.__init__() takes no parameters beim laufen meinen code, ich weiß nicht wirklich sehen, was ich falsch mache hier aber: class IRCReplyModule(object): activated=True moduleHandlerResultList=None moduleHandlerCommandlist=None modulename="" def __init__(self,modulename): self.modulename = modulename class SimpleHelloWorld(IRCReplyModule):

Zugreifen auf die Elternklasse in Backbone

Anzahl der Antworten 8 Antworten
Muss ich anrufen die initialize - Methode der übergeordneten Klasse, von innen geerbt MyModel-Klasse, statt komplett zu überschreiben da ich heute mache. Wie könnte ich dies tun? Hier ist, was mein code sieht jetzt: BaseModel = Backbone.Model.extend({