реализация, я ж сказал...
:write: |
Цитата:
Спасибо, поржал... |
tenshi, что плохо в реализации? Не подумай, что я пытаюсь спорить, просто интересно твое мнение, так как самому мне сравнивать не с чем, Python только собираюсь осваивать.
|
реализация как реализация, js - интересный язык и у него как и у всех других языков есть свои особенности.
|
в яваскрипте слишком много неконтролируемой магии..
* скрытая ссылка на прототип, которую можно получить только окольными путями, а изменить так вообще нельзя * нельзя изменить итерируемость полей. вообще существование неитерируемых полей - гемор при рефлексии * для каждого прототипа требуется функция-посредник, которая свяжет экземпляр с прототипом афайк, функция+прототип - это самый настоящий класс, только в несколько извращённой форме. истинное прототипное наследование достигается только примесями. * нельзя задать обработчик сообщения "метод не найден" (а в смалтолке и питоне - можно) |
Цитата:
Цитата:
Цитата:
Цитата:
upd: вот, кстати, еще мнение: http://krovosos.habrahabr.ru/blog/70314/. Правда, там не только прототипирование, скорее просто сравнительный обзор. |
> есть же свойство "constructor", примерно так: exemplar.constructor.prototype
constructor указывает на конструктор прототипа. иногда конструктор экземпляра и его прототипа совпадают, а иногда - нет: function HTMLString( ){ } HTMLString.prototype= new String alert( ( new HTMLString ).constructor.prototype === HTMLString.prototype ) > Разве это по OOP-шному? да, ибо это объектно ориентированное программирование, а не классово ориентированное ;-) > мелочь... Или нет? нет. основа ооп: объекты обмениваются сообщениями и полностью вольны обрабатывать их так, как захотят. а в яваскрипте отсутствие метода вызывает исключение и пытается уронить всё приложение, что для пользовательского интерфейса не допустимо. |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 10:47. |