F
finallover
Unregistered / Unconfirmed
GUEST, unregistred user!
我们极力主张使用面向对象的思想,但是做的时候遇到一下问题:
例如:
自定义一个类,它的属性里有一个对象.
MyType = class(TObject)
FObj:MyType1;//这个类在别处定义
Property Obj:MyType1 read GetObj write SetObj;
end;
function GetObj():MyType1;
begin
//如果我这么写,会怎么样?
result := FObj;
//我们实际的写法是这样的,可行吗?
if FObj = nil then
result :=FetchObj();//这是一个包含其它步骤生成一个新的MyType1类型对象
else
result := FObj;
end;
procedure SetObj(Value:MyType1);
begin
//如果我这么写,可以吗?
FOjb := Value;
//那怎么做是比较好的和安全的呢?
end;
例如:
自定义一个类,它的属性里有一个对象.
MyType = class(TObject)
FObj:MyType1;//这个类在别处定义
Property Obj:MyType1 read GetObj write SetObj;
end;
function GetObj():MyType1;
begin
//如果我这么写,会怎么样?
result := FObj;
//我们实际的写法是这样的,可行吗?
if FObj = nil then
result :=FetchObj();//这是一个包含其它步骤生成一个新的MyType1类型对象
else
result := FObj;
end;
procedure SetObj(Value:MyType1);
begin
//如果我这么写,可以吗?
FOjb := Value;
//那怎么做是比较好的和安全的呢?
end;