Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.08.2009, 15:32
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

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

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

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

ЗЫ: А нужно ли оно вообще кому-то?! Ваши мнения...
Ответить с цитированием
  #2 (permalink)  
Старый 18.08.2009, 15:33
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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

Сообщение от B~Vladi
ЗЫ: А нужно ли оно вообще кому-то?! Ваши мнения...
Иногда нужно.
Ответить с цитированием
  #3 (permalink)  
Старый 18.08.2009, 15:34
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
Нельзя
Пробовал?! Может об этом уже писал кто?! Давайте всё что есть...
Ответить с цитированием
  #4 (permalink)  
Старый 18.08.2009, 15:37
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
Ну точнее совсем нечестную эмуляцию, типа копирования свойств, конечно, можно
А хитрая функция, которая в статьях, так же делает?! Вроде как нет... Но её же придумали!

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

Последний раз редактировалось B~Vladi, 18.08.2009 в 15:41.
Ответить с цитированием
  #5 (permalink)  
Старый 18.08.2009, 15:42
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Хитрая, как ты говоришь, функция ничего хитрого не делает.
А причина невозможности банальная: чтобы сделать множественное наследование нужно указать конструктору несколько прототипов, а свойство prototype одно.
Ответить с цитированием
  #6 (permalink)  
Старый 18.08.2009, 15:45
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

B~Vladi,
А цепочка прототипов чем не множественное наследование, или что-то другое имеется в виду?
Кстати, я бы попросил вас воздержаться от мата, в том числе и скрытого. Не на скотном дворе, вроде как.
Ответить с цитированием
  #7 (permalink)  
Старый 18.08.2009, 15:46
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

B~Vladi, Понимание ООП в JavaScript

Если пишете под Мозиллу, можно задействовать __noSuchMethod__.
__________________
Тонкости ECMAScript
Ответить с цитированием
  #8 (permalink)  
Старый 18.08.2009, 15:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Андрей Параничев
А цепочка прототипов чем не множественное наследование, или что-то другое имеется в виду?
Ну это все-таки не множественное.
Ответить с цитированием
  #9 (permalink)  
Старый 18.08.2009, 15:50
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
Хитрая, как ты говоришь, функция ничего хитрого не делает.
Делает. Иначе я бы её понял
Сообщение от Kolyaj
свойство prototype одно
хм...

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

А если серьёзно, то можно создать конструктор, который будет возвращать в прототип свойства других объектов... Бред?!
Ответить с цитированием
  #10 (permalink)  
Старый 18.08.2009, 15:51
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Андрей Параничев
А цепочка прототипов чем не множественное наследование
Имелось ввиду - объект наследует свойства от двух разных классов.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск