Javascript.RU

Создать новую тему Закрытая тема
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2015, 18:07
Интересующийся
Посмотреть профиль Найти все сообщения от kotlov-net
 
Регистрация: 20.02.2015
Сообщений: 13

множественное наследование в JS
Сразу предупреждаю: энтерпрайзное быдло ничего не поймет в этой теме
...
имплементация тривиальна. Надо просто забыть о нативных объектах, и исполльзовать вместо них ф-ции

ga=1; gb=2; gc=3; gd=4

proto_o1=function(arg){
 return({c: gc, d: gd})[arg]
}

proto_o2=function(arg){
 return ({g: 10})[arg]
}

o=function(arg){
 return ({a: ga, b: gb})[arg]||proto_o1(arg)||proto_o2(arg)
}

console.log(o("a"), o("d"))

ga=10; gb=20; gc=30; gd=40

console.log(o("a"), o("d"), o("g"))

//out:
//  1 4
//  10 40 10


тут «объект» o наследует от proto_o1 и proto_o2 в чистейшем прототинпо-ориентированном стиле, иными словами, Ъ.

В даном примере еще один бонус: динамическое связывание, что видно из последней строчки. Для лексического можно использовать замыкания, естественно.

Последний раз редактировалось kotlov-net, 20.02.2015 в 18:39.
  #2 (permalink)  
Старый 20.02.2015, 18:23
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Очередной инстанс "Krutoy"?

Множественное наследование называется миксинами. И когда вы делитесь опытом/фичей/чем-то с людьми - старайтесь давать нормальные имена переменным. И кстати вы забыли написать "var".
  #3 (permalink)  
Старый 20.02.2015, 18:26
Интересующийся
Посмотреть профиль Найти все сообщения от kotlov-net
 
Регистрация: 20.02.2015
Сообщений: 13

tsigel,
это в недоязычках , видимо, так, а в прототипно-ориентированных языках множественное наследование реализуется делегированием.
  #4 (permalink)  
Старый 20.02.2015, 18:29
Интересующийся
Посмотреть профиль Найти все сообщения от kotlov-net
 
Регистрация: 20.02.2015
Сообщений: 13

Сообщение от tsigel
Множественное наследование называется миксинами
Кстати, неверно приравнивать миксины к множественому наследованию, это один из способов(довольно кривой, кстати) реализации оного, но никак ни "то же самое". По Вашей логике, комп===ос
  #5 (permalink)  
Старый 20.02.2015, 18:32
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

tsigel,
Цитата:
Очередной инстанс "Krutoy"?
Ага. Интересно, как он наследует себя от себя: с помощью прототипов или уже на классы перешёл?
  #6 (permalink)  
Старый 20.02.2015, 18:33
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Сообщение от Safort
Ага. Интересно, как он наследует себя от себя: с помощью прототипов или уже на классы перешёл?
  #7 (permalink)  
Старый 20.02.2015, 18:37
Интересующийся
Посмотреть профиль Найти все сообщения от kotlov-net
 
Регистрация: 20.02.2015
Сообщений: 13

Safort,
Сообщение от Safort
наследует себя от себя
Не понял иронии. А как наследуют синглтоны?
  #8 (permalink)  
Старый 20.02.2015, 18:40
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kotlov-net,
а, так ты синглтон? Тогда прошу прощения.
  #9 (permalink)  
Старый 20.02.2015, 18:43
Интересующийся
Посмотреть профиль Найти все сообщения от kotlov-net
 
Регистрация: 20.02.2015
Сообщений: 13

Safort,
По существу есть мысли?
  #10 (permalink)  
Старый 21.02.2015, 14:22
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

kotlov-net, снова ты, бан.
Закрытая тема



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
наследование в js torsar Общие вопросы Javascript 2 25.10.2014 22:33
Вывыод контента через JS inet_boy Элементы интерфейса 0 18.11.2013 03:00
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Вставка кода js с помощью js Alice Общие вопросы Javascript 1 12.06.2013 19:05
Множественное наследование - миф или реальность?! B~Vladi Оффтопик 109 04.09.2012 16:13