Цитата:
|
Цитата:
Это он про это: Цитата:
|
Цитата:
Цитата:
|
Цитата:
Я нехочу, но может кто другой... Цитата:
|
Цитата:
|
Kolyaj а у тебя какой стаж JS
Оо я уже профессор |
JSprog,
а ты с какой целью интересуешься? :) |
С целью узнать за скоко времени ты достиг такого професионализма
|
Цитата:
|
Рано мне еще автобиографию писать. )))
JSprog, если интересно, то начал в начале 2006 года, но многое узнал за последний год, когда начал заниматься только JS. |
Цитата:
|
Есть идея про мн наследование просто использовать расширение функций вообще без наследование а фабрикой объектов
|
Я никогда не сталкивался с задачами, где рационально было бы применить только множественное наследование. "Подмиксовки" в JavaScript можно делать и по-другому (ведь у нас динамическое ООП), а в большинстве других задач и обычной схемы наследования достаточно.
Да и вообще я схему себе не очень представляю, если например (не касаясь JavaScript) один класс наследует два других класса, которые имеют одинаковые имена методов, то что происходит? Простое перекрытие, или образуются "суб-пространства" имен? |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Множественное наследование - это шаг к усилению абстракции и упрощению реюза кода (действительно, раз научились наследовать код от одного блока, давайте научимся сразу от десяти - удобный способ повторно использовать этот код). Однако, имеет свои недостатки (поэтому, и не прижился во многих языках), одна из которых (и, возможно, основная) - Diamond problem (то, о чём спрашивал Андрей Параничев): решение зависит от реализаций, но в целом, в теории, этот алгоритм называется Method resolution order (порядок разрешения имён методов), или линеаризацией - C3 linearization - суть: выстроить (линеаризовать) дерево методов так, чтобы не возникло конфликтов имён (т.е превратить в цепь).
Альтернативой множественному наследованию являются интерфейсы и примеси (ну это и так все знают ;)). |
Цитата:
Цитата:
p.s. еще можно почитать http://phpclub.ru/talk/showthread.ph...E2%E0%ED%E8%E5 http://phpclub.ru/talk/showthread.ph...E2%E0%ED%E8%E5 |
Цитата:
|
во-первых это слишком абстрактное (:)) объяснение, во-вторых я его не понял, а в-третьих, объекты становятся более абстрактными по мере продвижения к корню иерархии и множественное наследование класса никак не влияет на абстрактность своих родителей
UPD: или речь о том, что множественное наследование - более абстрактное по сравнению с обычным? |
Цитата:
Цитата:
|
Я имею ввиду проссто копировать свойства из одной функции в другую. И поставить более приоритетный класс.ариме если есть два метода с одинаков названием в родителях то копируетса метод из приоритетного класса второй также копируетса но с изменёным названием на 1 заданный символ
|
Цитата:
|
Цитата:
|
Ну тогда через ссылки parent1.method, parent2.method, parent1.parent2.method
|
Подыму старую тему. Аналогичный вопрос возник после того, как я решил наследовать обычный прототип и прототип массива.
|
Цитата:
function Constructor () {} Constructor.prototype = new Array(); Constructor.prototype.method = function (){}; |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 17:29. |