关于多态的问题,大家看看我这样行不行????

cxb_zdl 2002-11-26 09:45:16
我现在编了两个类,一个TSiteModule,一个TMTMesh1d,其中TMTMesh1d由TSiteModule继承而来,在TSiteModule中定义了许多数据字段,同时定义了一个虚拟的方法Assign,赋予另一个TSiteModule变量的数据:

TSiteModule=Class
...
Public
Procedure Assign(Module:TSiteModule); Virtual;
...

Implementation
...

procedure TSiteMoDule.Assign(Module: TSiteModule);
begin
SetDepth(Module.depth);
SetInvMDepth(Module.InvMDepth);
SetRes(Module.Res);
SetInvMRes(Module.InvMRes);
end;


TMTMesh1d=Class(TSiteModule)
...
Public
Procedure Assign(Module:TSiteModule); Virtual;
...
Implementation

procedure TMTMesh1d.Assign(Mesh: TSiteModule);
Var
Mesh_Tem:TMTMesh1d;
begin
Inherited; //用这句话来继承基类中的同名方法赋也属于基类中的字段值
Mesh_Tem:=(Mesh As TMTMesh1d);
x:=Mesh_Tem.x;
y:=Mesh_Tem.y;
Elev:=Mesh_Tem.Elev;
Mx:=Mesh_Tem.Mx;
My:=Mesh_Tem.My;
Mh:=Mesh_Tem.Mh;
FreqsCount:=Mesh_Tem.FreqsCount;
IsSite:=Mesh_Tem.IsSite;
SetZxy(Mesh_Tem.Zxy);
SetZyx(Mesh_Tem.Zyx);
SetRxy(Mesh_Tem.Rxy);
SetRyx(Mesh_Tem.Ryx);
end;

不知道上述方法是否可行???
因为新写的类现在还没有实现,所以还不能自己马上进行试验。先请各位大侠指教则个。谢谢。






...全文
80 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxb_zdl 2002-12-04
  • 打赏
  • 举报
回复
这个问题这么冷?大家对多态都很清楚吗?

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧