Запитання з тегом «multiple-inheritance»

Особливість деяких об’єктно-орієнтованих мов комп’ютерного програмування, в яких клас може успадковувати поведінку та функції від більш ніж одного суперкласу або базового класу.

16
Що таке міксин, і чому вони корисні?
У " Програмуванні Python " Марк Луц згадує "міксин". Я зі складу C / C ++ / C # і раніше не чула цього терміна. Що таке міксин? Читаючи між рядками цього прикладу (з яким я пов’язаний, тому що він досить довгий), я припускаю, що це випадки використання множинної спадщини …

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

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

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. Люди зі С ++, яким пощастило мати таку здатність, кажуть, що це як давати комусь мотузку, щоб врешті повіситися. У чому справа з багаторазовим успадкуванням? Чи є конкретні зразки?

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.