Pytania otagowane jako multiple-inheritance

Cecha niektórych zorientowanych obiektowo języków programowania komputerowego, w których klasa może dziedziczyć zachowania i cechy z więcej niż jednej nadklasy lub klasy bazowej.

16
Co to jest mixin i dlaczego są przydatne?
W „ Programming Python ” Mark Lutz wspomina o „mixinach”. Pochodzę z środowisk C / C ++ / C # i nie słyszałem wcześniej tego terminu. Co to jest mixin? Czytając między wierszami tego przykładu (do którego podłączyłem, ponieważ jest dość długi), przypuszczam, że jest to przypadek użycia wielokrotnego dziedziczenia …

15
Jak działa super () Pythona w przypadku wielokrotnego dziedziczenia?
Jestem całkiem nowy w programowaniu obiektowym w języku Python i mam problemy ze zrozumieniem super()funkcji (nowych klas stylów), szczególnie jeśli chodzi o wielokrotne dziedziczenie. Na przykład, jeśli masz coś takiego: class First(object): def __init__(self): print "first" class Second(object): def __init__(self): print "second" class Third(First, Second): def __init__(self): super(Third, self).__init__() print …

16
Wielokrotne dziedziczenie w C #
Ponieważ wielokrotne dziedziczenie jest złe (komplikuje to źródło), C # nie zapewnia takiego wzorca bezpośrednio. Ale czasami pomocne byłoby posiadanie tej umiejętności. Na przykład jestem w stanie zaimplementować brakujący wzorzec wielokrotnego dziedziczenia za pomocą interfejsów i trzech takich klas: public interface IFirst { void FirstMethod(); } public interface ISecond { …




9
Jak stworzyć klasę Java, która implementuje jeden interfejs z dwoma typami ogólnymi?
Mam ogólny interfejs public interface Consumer<E> { public void consume(E e); } Mam klasę, która zużywa dwa typy obiektów, więc chciałbym zrobić coś takiego: public class TwoTypesConsumer implements Consumer<Tomato>, Consumer<Apple> { public void consume(Tomato t) { ..... } public void consume(Apple a) { ...... } } Najwyraźniej nie mogę tego …


17
Wiele dziedziczenia / prototypów w JavaScript
Doszedłem do punktu, w którym muszę mieć pewne podstawowe dziedziczenie wielokrotne w JavaScript. (Nie jestem tutaj, aby dyskutować, czy to dobry pomysł, czy nie, więc prosimy o zachowanie tych komentarzy dla siebie). Chcę tylko wiedzieć, czy ktoś próbował tego dokonać z jakimkolwiek (lub nie) sukcesem i jak sobie z tym …




5
W jaki sposób dziedziczenie wirtualne rozwiązuje niejednoznaczność „diamentu” (dziedziczenie wielokrotne)?
class A { public: void eat(){ cout<<"A";} }; class B: virtual public A { public: void eat(){ cout<<"B";} }; class C: virtual public A { public: void eat(){ cout<<"C";} }; class D: public B,C { public: void eat(){ cout<<"D";} }; int main(){ A *a = new D(); a->eat(); } Rozumiem …


7
Java - Kolizja nazw metod w implementacji interfejsu
Jeśli mam dwa interfejsy, oba całkiem różne w swoich celach, ale z tą samą sygnaturą metody, jak zrobić klasę implementującą obie bez konieczności pisania jednej metody, która służy do obu interfejsów i pisania zawiłej logiki w metodzie implementacja, która sprawdza, dla jakiego typu obiektu jest wykonywane wywołanie i wywołuje odpowiedni …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.