Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что делает TSomeType.Create?


nick_vstu ©   (2002-03-01 02:40:00) 

Объясните, пожалуйста, сабж. Зачем в некоторых случаях если мы описали какую-тo переменную как Variable:TSomeType, надо делать еще Variable:=TSomeType.Create; И почему нельзя писать вместо TSomeType.Create Variable.Create?
Вопрос конечно из розряда чайнических, но все же...


Digitman   (2002-03-01 09:54:00) [1]

>MBo

>>"Конструктор выделяет память..." и т.д. и т.п.

Если считать конструктором логику, реализованную в теле того же конструирующего метода TSomeType.Create, то напрасно ты уводишь автора от истины. Ничего этого конструктор не делает, как не делает этого и конструктор пра-пра-предка - TObject.Create. Все это происходи ДО вызова конструирующего метода, каким бы он ни был - статическим или виртуальным, код всего этого прозрачен и внедряется компилятором непосредственно перед реальным вызовом указанного констр.метода. Задача же констр.метода - инициализировать поля уже существующего в памяти в момент его выполнения экз-ра объекта.


MBo   (2002-03-01 06:58:00) [2]

ну не в некоторых, а во всех случаях - такова парадигма Object Pascal - чтобы соэдать объект, надо вызвать его конструктор, являющийся методом класса- это, упрощенно, процедура, способная работать в отсутствие экземпляра. Конструктор выделяет память, создает таблицу вирт. и дин. методов, присваивает переменной реальный адрес. Просто объявив
Variable:TSomeType - мы лишь создали указатель. Попытка сделать
Variable.Create обречена на неудачу


Fay   (2002-03-01 05:13:00) [3]

>Variable:=TSomeType.Create
: перед = тебя не напрягает?


Наверх

Титульная страница Поиск, карта сайта Написать письмо