Als «inheritance» getaggte Fragen

Vererbung ist das System in der objektorientierten Programmierung, mit dem Objekte Operationen unterstützen können, die durch vordere Typen definiert sind, ohne eine eigene Definition angeben zu müssen. Es ist der Hauptvektor für Polymorphismus in der objektorientierten Programmierung.

9
Gibt es eine Möglichkeit, Objekte aus einer Zeichenfolge zu instanziieren, die ihren Klassennamen enthält?
Ich habe eine Datei: Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ und eine andere Datei: BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") …

14
Werden statische Methoden in Java geerbt?
Ich habe einen Programmierleitfaden zur Java ™ SCJP-Zertifizierung von Khalid Mughal gelesen . Im Kapitel Vererbung wird dies erklärt Die Vererbung von Mitgliedern ist eng mit ihrer erklärten Zugänglichkeit verbunden. Wenn auf ein Mitglied der Oberklasse über seinen einfachen Namen in der Unterklasse zugegriffen werden kann (ohne die Verwendung einer …
141 java  inheritance  static 









6
Sollten alle Python-Klassen das Objekt erweitern?
Ich habe festgestellt, dass beide der folgenden Arbeit: class Foo(): def a(self): print "hello" class Foo(object): def a(self): print "hello" Sollten alle Python-Klassen das Objekt erweitern? Gibt es mögliche Probleme, wenn das Objekt nicht erweitert wird?



7
Rubinvererbung gegen Mixins
Da Sie in Ruby mehrere Mixins einschließen können, aber nur eine Klasse erweitern, scheint es, als würden Mixins der Vererbung vorgezogen. Meine Frage: Wenn Sie Code schreiben, der erweitert / eingefügt werden muss, um nützlich zu sein, warum würden Sie ihn jemals zu einer Klasse machen? Oder anders ausgedrückt, warum …


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.