09.04.2009, 20:30
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от Kolyaj
|
а множественное наследование где?
|
это цепочки наследования из PrototypeJs
|
|
09.04.2009, 20:35
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
|
|
09.04.2009, 20:42
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от Kolyaj
|
http://ru.wikipedia.org/wiki/Supercl... .D0.B8.D0.B5
|
Я подумал, что вы про многоуровневое наследование (не с начала читал). А примеры где может понадобиться наследование от нескольких классов придумать еще легче.
А разве в js это (множественное наследование) реализуемо?
Думаю вряд ли, ведь __proto__ только один.
Последний раз редактировалось Riim, 09.04.2009 в 20:49.
|
|
09.04.2009, 21:15
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
Сообщение от Riim
|
А разве в js это (множественное наследование) реализуемо?
Думаю вряд ли, ведь __proto__ только один.
|
Нет, но можно эмулировать (интерес только академический, приводил, как пример имитаций).
|
|
09.04.2009, 21:42
|
Кандидат Javascript-наук
|
|
Регистрация: 12.03.2009
Сообщений: 148
|
|
Сообщение от Riim
|
А разве в js это (множественное наследование) реализуемо?
Думаю вряд ли, ведь __proto__ только один.
|
Мне пока кажется, что реализуемо.
__proto__ один и ладно, а если вытянуть ветки от нескольких классов в одну ( разобрать лошарика в одну линию ) то достаточно и одного __proto__ ...
Сообщение от Dmitry A. Soshnikov
|
Нет, но можно эмулировать (интерес только академический, приводил, как пример имитаций).
|
Хотел бы уточнить - Вы там имели ввиду , кто будет предком созданного т.о. Классного прототипа - один из родителей или Object.prototype ?
И Как Вы предполагали собирать свойства нового Классного прототипа или же все свойства у новог Класса предполагается иметь собственные (this-свойства) ?
( Класс=Конструктор+прототти п )
|
|
09.04.2009, 21:50
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от kefi
|
а если вытянуть ветки от нескольких классов в одну
|
__proto__ это ссылка на объект. Только на один объект, у которого в свою очередь также только один __proto__, т. е. получается цепочка БЕЗ разветвлений. Но если вам удастся, как-то организовать это разветвление....
|
|
09.04.2009, 21:51
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
Сообщение от kefi
|
Хотел бы уточнить - Вы там имели ввиду , кто будет предком созданного т.о. Классного прототипа - один из родителей или Object.prototype ?
|
Не понял предложение. У объекта есть конструктор и прототип (в конце цепи будет Object.prototype).
Сообщение от kefi
|
И Как Вы предполагали собирать свойства нового Классного прототипа или же все свойства у новог Класса предполагается иметь собственные (this-свойства) ?
|
Вы про какую реализацию спрашиваете? Если обычное расширение (свои this-свойства в прототип конструктора), то чем это принципиально отличается от реализации интерфейсов в Java?
Если Вы про __noSuchMethod__, повторю, в этот метод управление передастся, когда цепь прототипов объекта (единственная цепь) будет просмотрена и нужное свойство не будет найдено. Далее, в этом методе Вы уже сами определяете к каким "модулям"/"классам"/объектам (и их цепям прототипов) делегировать.
|
|
09.04.2009, 21:55
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от Dmitry A. Soshnikov
|
Если Вы про __noSuchMethod__, повторю, в этот метод управление передастся, когда цепь прототипов объекта (единственная цепь) будет просмотрена и нужное свойство не будет найдено. Далее, в этом методе Вы уже сами определяете к каким "модулям"/"классам"/объектам (и их цепям прототипов) делегировать.
|
Первое, что придумалось не захотело работать:
var F = function() {};
F.__noSuchMethod__ = function() {
alert('7');
return 5;
};
var x = new F();
//alert(x.dfgdfd());
alert(x.dfgdfd);
FireFox и __proto__ есть.
Может сделаете простенький примерчик.
|
|
09.04.2009, 22:01
|
Кандидат Javascript-наук
|
|
Регистрация: 12.03.2009
Сообщений: 148
|
|
Сообщение от rimm
|
т. е. получается цепочка БЕЗ разветвлений
|
Несколько __proto__ показывают на один прототип - вот и разветвление.
Сообщение от Dmitry A. Soshnikov
|
Не понял предложение.
|
Ну мы говорим о том как сделать Новый Класс из нескольких имеющихся.
Вот я и спрашиваю, что Вы предполагали в той ссылке - Кто будет непосредственным Предком Нового Класса, под Классом я понимаю = Конструктор+прототип. Т.е. на кого будет показывать свойство __proto__ прототипа от нового Класса ?
Последний раз редактировалось kefi, 09.04.2009 в 22:12.
|
|
09.04.2009, 22:33
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от kefi
|
Несколько __proto__ показывают на один прототип - вот и разветвление.
|
Смотря в каком направлении идти по этой цепочке. Думаю, что такое разветвление здесь не поможет.
|
|
|
|