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

B~Vladi 18.08.2009 15:32

Множественное наследование - миф или реальность?!
 
На самом деле эта тема - оффтоп 100%, а чё всем всякую х...ю можно постить, а мне нельзя?! Итак, начнём...

В описании ядра JavaScript, написано, что в JS нет множественного наследования. Но раз смогли написать функцию, создания наследования (см. статьи), то может и можно, путём нехитрых манипуляций, сделать и множественное наследование?!

Если кто уже это сделал - выкладывайте, если никто не сделал - давайте вместе попробуем:)

ЗЫ: А нужно ли оно вообще кому-то?! Ваши мнения...

Kolyaj 18.08.2009 15:33

Нельзя :) (Ну точнее совсем нечестную эмуляцию, типа копирования свойств, конечно, можно)

Цитата:

Сообщение от B~Vladi
ЗЫ: А нужно ли оно вообще кому-то?! Ваши мнения...

Иногда нужно.

B~Vladi 18.08.2009 15:34

Цитата:

Сообщение от Kolyaj
Нельзя

Пробовал?! Может об этом уже писал кто?! Давайте всё что есть...

B~Vladi 18.08.2009 15:37

Цитата:

Сообщение от Kolyaj
Ну точнее совсем нечестную эмуляцию, типа копирования свойств, конечно, можно

А хитрая функция, которая в статьях, так же делает?! Вроде как нет... Но её же придумали!

Может JS намного гибче, чем мы все думаем:-?

Kolyaj 18.08.2009 15:42

Хитрая, как ты говоришь, функция ничего хитрого не делает.
А причина невозможности банальная: чтобы сделать множественное наследование нужно указать конструктору несколько прототипов, а свойство prototype одно.

Андрей Параничев 18.08.2009 15:45

B~Vladi,
А цепочка прототипов чем не множественное наследование, или что-то другое имеется в виду?
Кстати, я бы попросил вас воздержаться от мата, в том числе и скрытого. Не на скотном дворе, вроде как.

Dmitry A. Soshnikov 18.08.2009 15:46

B~Vladi, http://javascript.ru/forum/misc/3070...html#post16109

Если пишете под Мозиллу, можно задействовать __noSuchMethod__.

Kolyaj 18.08.2009 15:48

Цитата:

Сообщение от Андрей Параничев
А цепочка прототипов чем не множественное наследование, или что-то другое имеется в виду?

Ну это все-таки не множественное.

B~Vladi 18.08.2009 15:50

Цитата:

Сообщение от Kolyaj
Хитрая, как ты говоришь, функция ничего хитрого не делает.

Делает. Иначе я бы её понял:)
Цитата:

Сообщение от Kolyaj
свойство prototype одно

хм...

ну указать ему obj.prototype=Obj1.prototype+Obj2.prototype :D

А если серьёзно, то можно создать конструктор, который будет возвращать в прототип свойства других объектов... Бред?!

B~Vladi 18.08.2009 15:51

Цитата:

Сообщение от Андрей Параничев
А цепочка прототипов чем не множественное наследование

Имелось ввиду - объект наследует свойства от двух разных классов.


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