Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Создание конструктора ("класса") (https://javascript.ru/forum/project/12754-sozdanie-konstruktora-klassa.html)

monolithed 03.11.2010 13:20

Цитата:

Сообщение от Kolyaj
Где?

Воспроизведение событий на флеше, разве нет?))

Цитата:

Сообщение от Kolyaj
В данный момент Ext уже больше мешает, нежели помогает.

А можно пожалуйста по подробней (а то я думаю сейчас выбрать его в качестве основного фреймворка для одного из проектов и очень интересно узнать о подводных камнях)

vflash 03.11.2010 13:24

обьект можно создать так: {xxx: 2222, eeee: function(){}, ... итд}
но если нужно таких обьектов много (1, 5, 10, ...) то проше воспользоваться конструктором(функция которая вернет "болванку")

конструктор(класс) нужен для создания обьекта определенной структуры. Есть там наследование или нет это уже дело десятое.

в идеале нужно делать свой оператор new, чтота вроде:
var myclass = {constructor:fun.., ...};
var obj = new_(myclass ).
Но это медлено, потому и танцы с бубном вокруг нативного new function(){}

Kolyaj 03.11.2010 13:28

Цитата:

Сообщение от monolithed
Воспроизведение событий на флеше, разве нет?))

Нет, всё на HTML+JavaScript.

Цитата:

Сообщение от monolithed
А можно пожалуйста по подробней

Ну так я говорю, это не проблема Ext'-а, как такового. Ext сам по себе очень продуманный фреймворк. Это проблема любого фреймворка. Просто на первом этапе нужно сделать как можно быстрей интерфейс, окошки там, кнопочки, гриды. И всё прекрасно. А потом уже появляются требования тут специфическую свистелку прикрутить, там прикрутить. Для этого расширяем классы фреймворка, в результате от классов фреймворка остаются лишь названия, а сам фреймворк следует на проектом мёртвым грузом. Но это уж совсем последняя стадия :)

Могу посоветовать лишь, для каждого класса Ext-а создавать свой наследующий класс, от которого уже создавать объекты или наследовать свои прикладные классы. В результате, когда внезапно понадобится добавить во все окошки приложения какую-нибудь свистелку, отредактируется только один файл.

Kolyaj 03.11.2010 13:29

Цитата:

Сообщение от vflash
в идеале нужно делать свой оператор new, чтота вроде:

Это что за идеал такой?

vflash 03.11.2010 13:57

Kolyaj, это мое видения. что класс это обьект, который как шаблон для конструктора new. сейчас шаблон это функция , а хотелось бы чтоб был простой обьект.

Kolyaj 03.11.2010 14:24

Цитата:

Сообщение от vflash
сейчас шаблон это функция , а хотелось бы чтоб был простой обьект.

Сейчас шаблон это объект, а функция только создаёт объект и связывает его с объектом шаблоном.

vflash 03.11.2010 14:39

Kolyaj, попробуйте создать два класса чтобы функция(ну вы поняли какая) у них была одна ита-же, а прототипы разные.

Kolyaj 03.11.2010 14:41

И что это доказывает?

vflash 03.11.2010 15:09

Цитата:

Сообщение от Kolyaj (Сообщение 77242)
....., а функция только создаёт объект и связывает его с объектом шаблоном.

обьект с прототипом "функция.prototype" создает оператор new. и только потом выполняет функцию в контексте созданного обьекта.

Цитата:

И что это доказывает?
это был пример того что нельзя сделать стандартными средствами (те оператором new).

Kolyaj 03.11.2010 15:22

Цитата:

Сообщение от vflash
это был пример того что нельзя сделать стандартными средствами (те оператором new).

А зачем это надо?

А собственный оператор new кроссбраузерно не создать.


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