пофиксил, ускорил скорость работы) добавил поддержку статических, приватных и даже публичных свойств =)
function Class( description ) { return Class.extend( description ); } Class.prototype['constructor'] = function() {}; Class['extend'] = function( description ) { description = parse( description ); description.prototype = this.prototype; var prototype = new description( description.prototype, constructor ); var _constructor = prototype['constructor']; function constructor() { return _constructor.apply( this, arguments ); } constructor.prototype = prototype; constructor['extend'] = this['extend']; return constructor; }; function parse( description ) { var code = description.toString().match( /\{([\s\S]*)\}$/ )[1]; code = parentSupport( code ); code = privateSupport( code ); code = publicSupport( code ); return new Function( 'parent,static', code ); } function parentSupport( code ) { var regExp = /\bparent\b\s*\.\s*(\w+)\s*\((.*?)\)/img; code = code.replace( regExp, function( match, method, params ) { var separator = /\S/.test( params ) ? ',' : ''; return 'parent.' + method + '.call(this' + separator + params + ')'; } ); return code; } function privateSupport( code ) { var fix = '___'; var regExp = /\bprivate\b.([\w_]+)/img; code = code.replace( regExp, function( match, prop ) { return 'this.' + fix + prop + fix; } ); return code; } function publicSupport( code ) { var regExp = /\bpublic\b.([\w_]+)/img; code = code.replace( regExp, function( match, prop ) { return 'this.' + prop; } ); return code; } //######################################################## static var Cat = new Class( function() { this.constructor = function() { static.cnt++ } static.cnt = 0 } ) new Cat(); new Cat(); new Cat(); alert( Cat.cnt ) // 3 //######################################################## private var Cat = new Class( function() { public.name = 'Cat' private.age = 11; } ); var q = new Cat(); alert( q.name ); // Cat alert( q.age ); // undefined |
если кто не понял, это все шутка :yes: потому как пилить норм парсер мне влом) мне ни разу не встречалась необходимость в наслеовании классов если честно за всю жизнь. Ну ни разу вот, например ни разу не приходилось наследовать что-то от евент эмиттера, я все делаю проще просто. Если появляется необходимость в наследовании, значит - сделал сложно, и я переделываю.
|
жалко правда эти васяны не разрешают использовать слово super. вообще вымораживает, могли бы и варнинг бросать.
|
Цитата:
|
Ты про абстрактные классы или чо)?
|
Дайте мне движение сделать!
И всем типа похуй что причина соперничества людей - дефицит благ, таких например как возможность не работать а результат работы получать, и этот дефицит устраняется автоматизацией скучных и рутиных работ на которых люди не хотят работать, ливтеров заменили автоматическими лифтами, ткачих заменили ткатскими станками, гаишников и водителей заменят автопилотами, а быдло лишь возится в своих социальный проблемах не видя всей картины в целом. ВСЕ НАШИ ПРОБЛЕМЫ ТЕХНИЧЕСКИЕ, А НЕ ПОЛИТИЧЕСКИЕ! То есть сам факт СОПЕРНИЧЕСТВА ЛЮДЕЙ УЖЕ есть факт проблемы. И проблема явно не в том как более эффективно соперничать с другими людьми. А проблема в дефиците благ. Вы же, делаете революции хуюции и прочее, совершенно не видя причин. Вы же тупо соперничаете, даже не пытаясь устранить причину соперничества, относясь к соперничеству и дефициту благ, как к чему-то незыблимому.
Люди делятся на группировки называемые странами, на племена, соперничают за ресурсы, и прочее.. И только горстка ученых развивает технологии чтобы устранить этот дефицит и действительно РЕШИТЬ ПРОБЛЕМЫ. НО МЫ ТО С ВАМИ НЕ ТАКИЕ!!! МЫ БУДЕМ ПИЗДИЦА ДРУГ С ДРУГОМ ЗА БАНАНЫ ЗА МЕСТО ТОГО ЧТОБЫ УВЕЛИЧИТЬ УРАЖАЙНОСТЬ! И КУКАРЕКАТЬ "ВОТ ПЛОХОЙ ЧЕЛОВЕК! БОЛЬШЕ БАНАНОВ ЧЕМ Я ЗАБРАЛ!!! РЕВОЛЮЦИЯ!!!" ! Вы наверное еще и думаете что МЕНТЫ ПЛОХИЕ раз НЕ СДЕРЖИВАЮТ ЖАДНОСТЬ ВОЗНИКАЮЩУЮ В УСЛОВИЯХ ДЕФИЦИТА... Игнорируя тот факт что проблема все таки в дефиците, а не в сдерживании жадности. СТР0ОNЕ Р0БОТОВ8 б9ЛТtь!1! ![]() |
человек = животное, замени слово человек в своем тексте на животное и ты поймешь абсурдность своих суждений
|
человек - животное, абсурдности в суждениях не заметил. что я делаю не так?
|
Цитата:
|
:yes:
|
Часовой пояс GMT +3, время: 05:58. |