Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Множественное наследование - миф или реальность?! (https://javascript.ru/forum/offtopic/4754-mnozhestvennoe-nasledovanie-mif-ili-realnost.html)

x-yuri 26.08.2009 18:02

во-первых это слишком абстрактное (:)) объяснение, во-вторых я его не понял, а в-третьих, объекты становятся более абстрактными по мере продвижения к корню иерархии и множественное наследование класса никак не влияет на абстрактность своих родителей
UPD: или речь о том, что множественное наследование - более абстрактное по сравнению с обычным?

Dmitry A. Soshnikov 26.08.2009 18:21

Цитата:

Сообщение от x-yuri
объекты становятся более абстрактными по мере продвижения к корню иерархии

Ага. С этой точки зрения, да. Более "безликими", "неконкретными". Я имел в виду больше повторное использование кода, когда объект будет иметь нужные свойства/методы, но говорить о них можно полностью абстрактно (т.е. объект умеет "печатать" - унаследовал от одного объекта, "прыгать" - от другого), не касаясь реализации (которая находится ниже), но, возможно, в данном случае, несколько путано донёс смысл.

Цитата:

Сообщение от x-yuri
или речь о том

Основная речь была о code reuse.

JSprog 26.08.2009 20:42

Я имею ввиду проссто копировать свойства из одной функции в другую. И поставить более приоритетный класс.ариме если есть два метода с одинаков названием в родителях то копируетса метод из приоритетного класса второй также копируетса но с изменёным названием на 1 заданный символ

B~Vladi 27.08.2009 10:46

Цитата:

Сообщение от JSprog
но с изменёным названием на 1 заданный символ

Так не пойдёт. Имена должны оставатся такими, какими их указал программер. Возможно, вызывать их нужно, как-то указывая класс, к которому он принадлежит. Так логичнее имхо.

Riim 27.08.2009 10:49

Цитата:

Сообщение от JSprog
но с изменёным названием на 1 заданный символ

При втором уровне наследования еще символ добавлять? А если там уже есть метод с таким символом, третий добавлять? И как теперь понять с какого уровня наследования этот метод?

JSprog 27.08.2009 11:46

Ну тогда через ссылки parent1.method, parent2.method, parent1.parent2.method

FINoM 03.09.2012 18:19

Подыму старую тему. Аналогичный вопрос возник после того, как я решил наследовать обычный прототип и прототип массива.

B~Vladi 03.09.2012 21:49

Цитата:

Сообщение от FINoM
решил наследовать обычный прототип и прототип массива.

А так не пойдет?
function Constructor () {}
Constructor.prototype = new Array();
Constructor.prototype.method = function (){};

FINoM 03.09.2012 21:50

Цитата:

Сообщение от B~Vladi
А так не пойдет?

Так и сделал. Но хотелось бы добавлять свойства в прототип всех родителей динамически.

Dim@ 04.09.2012 16:13

Цитата:

Сообщение от Андрей Параничев
Да и вообще я схему себе не очень представляю, если например (не касаясь JavaScript) один класс наследует два других класса, которые имеют одинаковые имена методов, то что происходит? Простое перекрытие, или образуются "суб-пространства" имен?

простое перекрытие тот что позже наследовался те и методы


Часовой пояс GMT +3, время: 14:36.