请教一个object pascal 的问题 ( 积分: 200 )

  • 主题发起人 主题发起人 wagxu
  • 开始时间 开始时间
W

wagxu

Unregistered / Unconfirmed
GUEST, unregistred user!
我想请教一下。
我有一个几个类,
TLogClass = class
private
public
procedure Update
virtual;
end;
TFileClass=Class(TLogClass)
private
public
property FileName: string read FFileName write SetFileName;
end
TMemoClass=Class(TLogClass)
private
public
property Memo: TMemo read FMemo write SetMemo;
end

现在我想在主程序这样调用类
申明主类
var
Log:TLogClass
然后在实际代码中,根据情况通过Log变成继承类。从而调用继承类的属性
如:Log.Filename或Log.Memo
 
我想请教一下。
我有一个几个类,
TLogClass = class
private
public
procedure Update
virtual;
end;
TFileClass=Class(TLogClass)
private
public
property FileName: string read FFileName write SetFileName;
end
TMemoClass=Class(TLogClass)
private
public
property Memo: TMemo read FMemo write SetMemo;
end

现在我想在主程序这样调用类
申明主类
var
Log:TLogClass
然后在实际代码中,根据情况通过Log变成继承类。从而调用继承类的属性
如:Log.Filename或Log.Memo
 
向上转型比较容易
var
Log:TLogClass //用基类定义

Log:=TMemoClass.Create //用底层派生类创建

TFileClass(Log).Filename //向上转型
TMemoClass(Log).Filename
 
OK,谢谢啦
 
接受答案了.
 
后退
顶部