Вопросы с тегом «multiple-inheritance»

Функция некоторых объектно-ориентированных языков программирования, в которой класс может наследовать поведение и функции более чем одного суперкласса или базового класса.

16
Что такое миксин и почему они полезны?
В « Программировании Python » Марк Лутц упоминает «миксины». Я из C / C ++ / C # фона, и я не слышал этот термин раньше. Что такое миксин? Читая между строк этого примера (который я связал, потому что он довольно длинный), я предполагаю, что это случай использования множественного наследования …

15
Как Python super () работает с множественным наследованием?
Я довольно новичок в объектно-ориентированном программировании на Python, и у меня возникают проблемы с пониманием этой super()функции (новые классы стилей), особенно когда речь идет о множественном наследовании. Например, если у вас есть что-то вроде: class First(object): def __init__(self): print "first" class Second(object): def __init__(self): print "second" class Third(First, Second): def …

16
Множественное наследование в C #
Так как множественное наследование является плохим (это усложняет исходный код), C # не предоставляет такой шаблон напрямую. Но иногда было бы полезно иметь эту способность. Например, я могу реализовать отсутствующий шаблон множественного наследования, используя интерфейсы и три таких класса: public interface IFirst { void FirstMethod(); } public interface ISecond { …

6
Вызов родительского класса __init__ с множественным наследованием, каков правильный путь?
Скажем, у меня есть сценарий множественного наследования: class A(object): # code for A here class B(object): # code for B here class C(A, B): def __init__(self): # What's the right code to write here to ensure # A.__init__ and B.__init__ get called? Там две типичные подходы к письменной форме C«s …

16
Многократное наследование Java
В попытке полностью понять, как решить проблемы множественного наследования в Java, у меня есть классический вопрос, который мне нужно прояснить. Допустим , у меня есть класс Animalэто имеет вложенные классы Birdи Horseи мне нужно сделать класс , Pegasusкоторый простирается от Birdи Horseтак Pegasusявляется как птица и лошадь. Я думаю, что …


9
Как сделать класс Java, который реализует один интерфейс с двумя универсальными типами?
У меня общий интерфейс public interface Consumer<E> { public void consume(E e); } У меня есть класс, который использует два типа объектов, поэтому я хотел бы сделать что-то вроде: public class TwoTypesConsumer implements Consumer<Tomato>, Consumer<Apple> { public void consume(Tomato t) { ..... } public void consume(Apple a) { ...... } …


17
Множественное наследование / прототипы в JavaScript
Я подошел к моменту, когда мне нужно иметь какое-то рудиментарное множественное наследование в JavaScript. (Я здесь не для того, чтобы обсуждать, хорошая это идея или нет, поэтому, пожалуйста, оставьте эти комментарии при себе.) Я просто хочу знать, пытался ли кто-нибудь это с успехом (или нет) и как они это сделали. …

7
Может ли интерфейс расширять несколько интерфейсов в Java?
Может ли интерфейс расширять несколько интерфейсов в Java? Этот код отображается в моей среде IDE и компилируется: interface Foo extends Runnable, Set, Comparator<String> { } но я слышал, что в Java запрещено множественное наследование. Почему для интерфейсов существует исключение?

11
В чем именно заключается проблема множественного наследования?
Я вижу, как люди все время спрашивают, следует ли включать множественное наследование в следующую версию C # или Java. Люди C ++, которым посчастливилось обладать этой способностью, говорят, что это все равно, что дать кому-то веревку, чтобы в конце концов повеситься. Что с множественным наследованием? Есть конкретные образцы?

17
Почему множественное наследование запрещено в Java или C #?
Я знаю, что в Java и C # множественное наследование запрещено. Во многих книгах прямо говорится, что множественное наследование недопустимо. Но это можно реализовать с помощью интерфейсов. Ничего не обсуждается, почему это запрещено. Кто-нибудь может сказать мне, почему это запрещено?

5
Как виртуальное наследование решает «ромбовидную» (множественное наследование) неоднозначность?
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(); } Я …

3
Objective-C множественное наследование
У меня есть 2 класса, один из которых включает метод A, а другой - метод B. Итак, в новом классе мне нужно переопределить методы methodA и methodB. Итак, как мне добиться множественного наследования в объективе C? Я немного запутался в синтаксисе.

7
Java - конфликт имен методов в реализации интерфейса
Если у меня есть два интерфейса, оба совершенно разных по своему назначению, но с одинаковой сигнатурой метода, как мне сделать класс, реализующий оба, без необходимости писать один метод, который служит для обоих интерфейсов, и писать некоторую запутанную логику в методе реализация, которая проверяет, для какого типа объекта выполняется вызов, и …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.