Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: CL | DM;

Вниз

Как создать объект того же класса в методе родителя?   Найти похожие ветки 

 
TEXHAPb   (2004-02-16 17:28) [0]

Есть несколько классов, унаследованных от одного родителя - TDataObject.
Есть метод TDataObject.GetObject(Id:integer):TDataObject, в котором должен создаваться и возрвращаться объект такого же класса, как у вызывающего объекта.
Надеюсь я понятно изложил проблему.
Подскажите как это можно реализовать в методе родителя.


 
Семен Сорокин ©   (2004-02-16 17:35) [1]

type
TSecondClass = class;

TFirstClass = class
private
FSecondClass = TSecondClass;
end;

TSecondClass = class
private
end;


 
Тимохов ©   (2004-02-16 17:43) [2]

interface

type
TDataObject = class
function GetObject: TDataObject;
constructor Create; virtual;
end;
TDataObjectClass = class of TDataObject;
TDataObject1 = class(TDataObject);

implementation

function TDataObject.GetObject;
begin
Result := TDataObjectClass(ClassType).Create;
end;

procedure Do;
var
o1, o2: TDataObject;
begin
o1 := TDataObject1.Create;
o2 := o1.GetObject; // Будет создан объект класса TDataObject1
end;



Страницы: 1 вся ветка

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
1-93905
Wild
2004-02-15 21:00
2004.02.29
Delphi+Flash


6-94057
Dysan
2003-12-24 17:13
2004.02.29
как узнать что есть доступ в интернет?


14-94108
Nick-From
2004-02-09 20:20
2004.02.29
Не могу настроить Outlook


14-94137
Nikolay M.
2004-02-06 09:58
2004.02.29
Банкетные залы в Москве - ?


1-93904
Rude
2004-02-15 22:03
2004.02.29
Как посчитать CRC какого то файла в Windows