Показать сообщение отдельно
  #34 (permalink)  
Старый 23.07.2012, 17:03
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от devote
Есть тут свои тонкости, конечно же нет возможности создания интерфейсов, абстракции и прочих полноценных прелестей ООП.
Сообщение от devote
хм.. что-то не так написал? могу исправить если я в чем-то ошибаюсь.
Создается впечатление, что автор считает классовое ООП рассово верным, чем может обидеть религиозные чувства сторонников противоположной позиции, случайно наткнувшихся на этот текст...

Сообщение от devote
честно говоря над методом Class.autoload нужно еще поработать, мне конечно не совсем пока нравится как это работает. Поэтому в будущих версия этот метод возможно претерпит изменения.
Сообщение от devote
насчет обработки ошибок (Class.imports) тоже вполне возможно будут изменения, но пока не решил как улучшить и т.д.
что не нравится?

Сообщение от B~Vladi
Правильнее было бы назвать это пространством имён.
Правильнее было бы не называть это, чтобы можно было самому решать, где это будет пространством имен, а где классом.

Сообщение от devote
а вообще внутри библиотеки указаны примеры создания:
Сообщение от devote
аж 12 вариантов:
Поддерживаю, слишком много. Можно было бы вынести дополнительные свойства в отдельный аргумент, в результате у них появится имя:
Class('MyClass', {
    myMethod: function() {...},
    ...
}, {context: '...', staticData: {...}});

т.е. такая сигнатура: Class(name, data, options)

И по поводу extends/implements/include (наследование), их можно туда же засунуть. Или прямо в data, зарезервивовав для служебных целей, например, двойное подчеркивание:
Class('MyClass', {
    __extends: 'MyBaseClass',
    __implements: 'MyMixin',
    __construct: function() {...},
    myMethod: function() {...}
});
Ответить с цитированием