![]() |
|
Модераторы: LSD Страницы: (12) Все « Первая ... 6 7 [8] 9 10 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
что это в двух словах типа класса Class в Java? Добавлено через 2 минуты и 49 секунд гы т. е Delphi IDE и Delphi язык уже неразрывно связаны? а если нет у меня IDE, а есть, к примеру, компилятор и vim? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
возможно. я практически не знаком с java. в Delphi, объект TClass может иметь значением ссылку на любой класс.
чей-то навроде переменных-функций, только расширенное до класса. та ладно! Это же Религиозные войны vim, кстати, вроде славился мощной системой расширений. вроде, на базе скриптов... вот и пишите скрипты Кста, аргумент наводит на грустные размышления. Есть бесплатная среда с отладчиков и тп, но чтоб вот так - vi пользоваться взамен... ууу... |
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
skyboy,
не совсем понял про метаклассы можно не кусок кода, а целостный рабочий пример?
нормальный пример как раз показывает бредовость сравнения кодогенерации IDE с возможностями языка
VIM и не на такое способен -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
На уровне чего происходит это вопрос условный, <управляющий объект> тоже принадлежит системе, а чисто с объектной точки зрения, никто чужой не может менять внутренние данные объекта, потому все что анализирует внутренние данные объекта правильно считать его методами. Могу залезть в книгу и сказать точнее, но данные по ссылкам точно находятся в управляющем объекте, более того есть даже какие-то методы, которые доступны для использования. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
||||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
в смысле? смотря, какие расширения. мне вот хватает mmx model maker. учитывая, что mmx codeExplorer входит в Delphi начиная с какой-то там версии, то рефакторинг стал бесплатноприлагаемой фичей. MMX CodeExplorer + CnPack и я сплю спокойно Добавлено через 9 минут и 17 секунд признаться чесно, не могу сходу придумать настолько обоснованное применение, чтоб меня не запинали. Металкассы, так же, как и templates(когда немного-немного касался С++) для меня пока - слишком непонятная штука: не могу представить, как использовать: не дорос ещё. Потому пример приводить не буду, извини. Только замечу, что суть в том, что сам класс тоже является объектом. Который можно хранить в переменной, передавать в функцию в виде параметра(не имя класса, а сам класс - кстати, теряется смысл объектной реализации паттерна Фабрика/Factory: мы и так при желании можем создавать объект любого произвольного класса). Вкупе с RTTI это дает выражения вроде
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
||||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
MAKCim, видимо, он имеет в виду шаблон "Фабрика". ведь как раз она и предназначена для создания объектов заранее не определенного класса. Правда, приходится писать "лишний код", но в итоге-то функционал тот же, разве нет?
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
я бы не сказал что много лишнего кода, ассоциативный массив, плюс статический метод или функция Create для каждого типа...
как то так...
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
Lazin,
проблема в том, что все классы придется регистрировать (причем статически) getClassByName() же возвращает объект метакласса для любого класса (или я не прав?) т. е полный аналог Class.forName() в Java Это сообщение отредактировал(а) MAKCim - 4.6.2008, 11:45 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
||||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
исправляюсь: getClass, а не getClassByName(редко пользую, не упомнил).
именно вот оно - RTTI впрочем, есть свои сложности - как быть, если конструктор не может быть вызван без параметров? или наоборот - мы вызываем с параметрами, а конструктор должен быть без параметров... нло это частные случае применения это раз. потом: получаемый т.о. класс должен быть потомком TPersistent(а не базового TObject). это два. автоматически регистрируются только те классы, поля-объекты которых(в смысле, объекты каких классов) являются полями формы. Остальные классы надо "регистрировать" при помощи RegisterClass(уверен, сделано в целях повышения производительности: класс, который можно получить по имени должен быть в памяти даже если ни одного объекта такого класса не создается; значит, надо указывать явно, какие классы загружать: не размещать же в памяти всю VCL!). это три. |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
||||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |