Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   фабрика объектов и наследование (https://javascript.ru/forum/events/27966-fabrika-obektov-i-nasledovanie.html)

simple 01.05.2012 19:29

фабрика объектов и наследование
 
Нужен совет. Мне нравится создавать новые объекты с помощью фабричных функций, но как мне известно у такого способа есть один недостаток, в нем не работает наследование на прототипах. И я вот о чем подумал, а что если методы таких объектов хранить в другом объекте, скажем Methods, а в создаваемым объектам давать лишь ссылку на этот объект а не писать готовых функций..например:
var Methods = (function() {
    return {
        table : {
            sort : function() {}
        }
    }
})();

var Table = (function() {
    var table = document.createElement('table');
    table.thead =  document.createElement('thead');
    ... и.т.д
    table.sort = Methods.table.sort; // Публичный метод, содержит указатель на функцию
    return table;
})();

Table.sort();// Вызываем метод;

Будет такое работать? :write:

Kolyaj 01.05.2012 20:12

Это всё равно не наследование.

tenshi 04.05.2012 12:50

будет, и я активно такое использую

var Men= Factory( new function( ){
    Human.prototype.constructor.apply( this )
    this.fuck= function( human ){
        // и т д
    }
} )

Men().fuck( Woman() ).relax()

vasa_c 04.05.2012 13:49

общий human аргументом? фу...

tenshi 04.05.2012 14:27

Ты прав, там должен быть animal x)

simple 07.05.2012 20:51

Цитата:

Сообщение от tenshi (Сообщение 172644)
будет, и я активно такое использую

var Men= Factory( new function( ){
    Human.prototype.constructor.apply( this )
    this.fuck= function( human ){
        // и т д
    }
} )

Men().fuck( Woman() ).relax()

интересный способ


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