Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];
ВнизКак создать объект того же класса в методе родителя? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c