inheritance

Kiedy powinienem wybrać dziedziczenie zamiast interfejsu podczas projektowania bibliotek klas C#? [zamknięte]

Mam kilka klas Processor, które wykonają dwie bardzo różne rzeczy, ale są wywoływane ze wspólnego kodu (sytuacja" inwersja st ... dla Was users), decydując, czy wszystkie powinny dziedziczyć po BaseProcessor, Czy zaimplementować IProcessor jako interfejs.

Jak mogę dynamicznie tworzyć klasy pochodne z klasy bazowej

Na przykład mam klasę bazową w następujący sposób: class BaseClass(object): def __init__(self, classtype): self ... eClass(classtype = "My", a=4) Udało mi się to zrobić, ale wolałabym inny sposób, tj. dynamicznie tworzone obiekty klasowe.

Kiedy muszę używać interfejsów zamiast klas abstrakcyjnych? [duplikat]

To pytanie ma już odpowiedź tutaj: klasa abstrakcyjna vs interfejs w Javie ... T: znalazłem fajny link o tym w innym wątku: http://www.thecoldsun.com/en/content/01-2009/abstract-classes-and-interfaces

W jaki sposób wirtualne dziedziczenie rozwiązuje wieloznaczność" diamentu " (wielokrotnego dziedziczenia)?

class A { public: void eat(){ cout<<"A";} }; class B: virtual public A { public: void eat(){ cou ... ale nie może sam decydować. W Jaki Sposób wirtualne dziedziczenie rozwiązuje problem (pomaga kompilatorowi podjąć decyzję)?

Funkcja o tej samej nazwie, ale inna sygnatura w klasie pochodnej

Mam funkcję o tej samej nazwie, ale z innym podpisem w klasach bazowych i pochodnych. Kiedy próbuję użyć funkcji klasy bazowe ... s are: int B::foo(int) Jeśli usunę {[2] } z klasy B lub zmienię jej nazwę z foo1, Wszystko działa dobrze. W czym problem?

Dziedziczenie z klasy szablonu w c++

Załóżmy, że mamy klasę szablonów Area, która ma zmienną member T area, A T getArea() i void setArea(T) Funkcje member. Mogę ... r bez specjalizowania go, więc nie jest dziedziczony jako obszar ints, ale jako obszar prostokąt może specjalizować typy dla.

Derived template-class access to base-class member-data

To pytanie jest kontynuacją pytania zadanego w w tym wątku . Używając następujących definicji klas: template <class T& ... lu uproszczenia kod? Edit: Problem z zakresem jest rozwiązany przez zakwalifikowanie zmiennej za pomocą tej składni ->.

super() kończy się błędem: TypeError" argument 1 musi być typu, a nie classobj", gdy rodzic nie dziedziczy z obiektu

Dostaję jakiś błąd, którego nie mogę rozgryźć. Jakieś wskazówki, co jest nie tak z moim przykładowym kodem? class B: def ... o call a cooperative superclass method: | class C(B): | def meth(self, arg): | super(C, self).meth(arg) |

Klasa Rozszerzająca JavaScript

Mam klasę bazową: function Monster() { this.health = 100; } Monster.prototype.growl = function() { console.log("Grr ... wiele zawiłych rozwiązań do tego w JavaScript. Jaki byłby najprostszy i najbardziej niezawodny sposób osiągnięcia tego w JS?

Lista wszystkich klas bazowych w hierarchii danej klasy?

Biorąc pod uwagę klasę Foo (niezależnie od tego, czy jest to klasa w Nowym Stylu, czy nie), jak wygenerować Wszystkie klasy bazowe-w dowolnym miejscu w hierarchii dziedziczenia-to issubclass czego?

modyfikatory dostępu java i metody nadpisywania

Dlaczego Java określa, że specyfikator dostępu dla nadrzędnej metody może zezwalać na więcej, ale nie mniej dostępu niż metod ... isana? Na przykład, metoda wystąpienia chronionego w klasie nadrzędnej może być upubliczniona, ale nie prywatna, w podklasie.

Doktryna 2 mapowanie dziedziczenia ze Stowarzyszeniem

Uwaga: jeśli to, czego chcę, nie jest możliwe, odpowiedź" niemożliwe " zostanie zaakceptowana W Doktryna 2 Dokumentacja o ... yści z dziedziczenia ! uwaga: nie dodałem adnotacji do doktryny dla mapowania do DB, ale możesz zrozumieć, co mam na myśli

Dziedziczenie wersji projektu Maven - czy muszę określać wersję nadrzędną?

Mam dwa projekty: projekt nadrzędny: a, projekt podrzędny: B A / pom.xml: <groupId>com.dummy.bla</groupId> &l ... dzica. Czy jest jakiś sposób, żebym mógł użyć ${project.version} lub czegoś takiego, aby uniknąć 01.-SNAPSHOT w obu pomach?

Objective - C dziedziczenie wielokrotne

Mam 2 klasy jedna obejmuje methodA i inne obejmują methodB. Więc w nowej klasie muszę nadpisać metody methodA i methodB. Jak więc osiągnąć dziedziczenie wielokrotne w objective C? Jestem trochę zdezorientowany składnią.

Dlaczego domyślny konstruktor jest wywoływany w dziedziczeniu wirtualnym?

Nie rozumiem dlaczego w poniższym kodzie, gdy instancjuję obiekt typu daughter, wywoływany jest domyślny konstruktor grandmot ... (attr) { std::cout << "daughter: " << attr << std::endl; } }; int main() { daughter x(0); }

C#: podnoszenie dziedziczonego zdarzenia

Mam klasę bazową, która zawiera następujące zdarzenia: public event EventHandler Loading; public event EventHandler Finishe ... tronie + = lub - = (BaseClass') Zakładam, że nie mogę uzyskać dostępu do tych wydarzeń tak samo jak inne dziedziczone osoby?

Najskuteczniejszy sposób rzucania Listy Do Listy

Mam List<SubClass>, które chcę traktować jako List<BaseClass>. Wygląda na to, że nie powinno to być problemem, p ... fSubClass) Ale jak rozumiem, to musi stworzyć zupełnie nową listę. Chciałbym nawiązać do oryginalnej listy, jeśli możliwe!

Czy pola statyczne są dziedziczone?

Gdy statyczne elementy są dziedziczone, czy są statyczne dla całej hierarchii, czy tylko tej klasy, tzn.: class SomeClass { ... return 0; } Czy suma będzie 3 we wszystkich trzech przypadkach, czy będzie to 2 dla SomeClass i 1 dla SomeDerivedClass?

C++ virtual function return type

Czy jest możliwe, aby odziedziczona Klasa zaimplementowała funkcję wirtualną z innym typem zwracanym (nie używając szablonu jako zwracanego)?

Jak używać konstruktorów klasy bazowej i operatora przypisania w C++?

Mam klasę B z zestawem konstruktorów i operatorem przypisania. Oto jest: class B { public: B(); B(const string& s ... uniknąć przepisywania operatora przypisania, ponieważ musi on mieć dostęp do wszystkich prywatnych zmiennych członkowskich B.