| 
| 
 | Вопрос # 4 386/ вопрос открыт / | 
 |  Здравствуйте эксперты!min@y, в книжках атк же написано, нет ли какого-нть понятного народного объяснение??? не могу понять,когда использовать constructor, акогда create.
 
|  |   Вопрос задал: габибыч (статус: Заблокирован)Вопрос отправлен: 5 июля 2010, 22:43
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: min@y™ Ну вот я набросал тут немного от руки...
 type
  TExample = class
  private
    FField: Integer; // поле
  public
    constructor Create;
    property Field: Integer read FField write FField; // свойство
  end;
 
implementation
 
constructor TExample.Create;
begin
  inherited; // если нужно
 
  // Далее - инициализация полей экземпляра объекта, если надо,
  // и/или создание дочерних объектов
  FField:= 100500;
end;
 
procedure TMainForm.ButtonClick(Sender: TObject);
begin
  // Создание экземпляра класса
  FExample:= TExample.Create();
end;
 
end.
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 5 июля 2010, 22:56
 Оценка за ответ: 4
 Комментарий к оценке: кажется понял!) риспэкт |  
 Мини-форум вопросаВсего сообщений: 12; последнее сообщение — 6 июля 2010, 19:02; участников в обсуждении: 5. 
|   | Паровоз (статус: 10-ый класс), 5 июля 2010, 22:51 [#1]:Нельзя ли поконкретнее? |  
|   | min@y™ (статус: Доктор наук), 5 июля 2010, 22:55 [#2]:Ты имеешь в виду само слово "constructor"? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | padonak (статус: Посетитель), 5 июля 2010, 22:57 [#3]:>>> когда использовать constructor, акогда create 
 когда отладчик не гавкает на create, то смело используй его )))
 |  
|   | min@y™ (статус: Доктор наук), 5 июля 2010, 23:09 [#4]: Цитата (габибыч): кажется понял!) риспэкт А чо ж 4 балла? Что-то не так?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | габибыч (статус: Заблокирован), 5 июля 2010, 23:20 [#5]:min@y, это скорее мне баллы, за то что туго доганяю. ответ отличный, спасибо! |  
|   | габибыч (статус: Заблокирован), 5 июля 2010, 23:28 [#6]:значит, я так понял: тот пример что сверху и (далее по своему преобразовываю):
 
 type
 TExample = class
 private
 FField: Integer; // поле
 public
 property Field: Integer read FField write FField; // свойство
 end;
 
 var Example: TExample;
 
 implementation
 
 procedure TMainForm.ButtonClick(Sender: TObject);
 begin
 // Создание экземпляра класса
 Example:= TExample.Create();
 end;
 
 end.
 
 это не одно и то же???
 |  
|   | min@y™ (статус: Доктор наук), 5 июля 2010, 23:29 [#7]: Цитата (габибыч): это не одно и то же???  ...как что???!!!111
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | min@y™ (статус: Доктор наук), 5 июля 2010, 23:33 [#8]: Цитата (габибыч): var Example: TExample; В данном случае ты описываешь указатель как глобальную переменную. Иеногда это действительно необходимо. Однако, я до сих пор никак не вкурю: в чём проблема-то?!
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | габибыч (статус: Заблокирован), 5 июля 2010, 23:57 [#9]:min@y проблема вот в чем: то что ты написал (см. свой пример) и то что я из него сделал (см. мои преобразования) - это одно и то же???
 |  
|   | min@y™ (статус: Доктор наук), 6 июля 2010, 09:49 [#10]: Цитата (габибыч): это одно и то же???  Не вижу отличий, кроме отсутствия переопределения конструктора. Если в конструкторе потомка не нужно делать какие-то действия по инициализации и/или по созданию дочерних объектов, то, конечно, конструктор писать не надо. Example:= TExample.Create() вызовет конструктор предка (в данном случае - конструктор класса TObject).
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Ерёмин А.А. (статус: *Администратор), 6 июля 2010, 12:37 [#11]:габибыч: что это за вопрос такой? Почему нельзя продолжить в мини-форуме прошлого вопроса? |  
|   | габибыч (статус: Заблокирован), 6 июля 2010, 19:02 [#12]:какой вопрос??  не понял... |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |