我一个类myclass,它的基类是baseclass
baseclass里有个方法比如:procedure AAA;dynamic;
我在myclass里需要override这个方法。问题来了,我想把这个基类的方法改名,
因为在myclass里有另外有一个procedure AAA。
有没有办法呢?
解决方案 »
- 关于cxGrid不能编辑的问题
- 一个大小写转换的问题
- 请大家帮忙解释一下每句的含义
- 为什么应届生那么难找工作?》?散分
- chm帮助文件调用问题
- 清除Access数据库中的OLE中的jpg图片为什么不行
- 散分:明天我参加2004考研...
- 请问通过delphi7设计如何将Excel表里的数据导入到sql数据库已有的表中来?,最好能实现:点击‘导入’选择excel表,设置列名和sql表匹配然后导入,请给代码或原程序
- 不知道大家都有WindowsXP了吗?
- 题目以定:超级进销存管理系统
- PDOXUSRS.LCK(急!!!)
- 请问checkbox,radiobutton的ctl3d属性怎么无效?答对绝对给分
------
没办法吗?
那只好用土办法了,
建个tempclass类,继承baseclass,在private加入procedure AAA ;override;
在protected加入 procedure AAA_temp;virtual;abstract;
procedure tempclass.AAA ;
begin
inherited;
AAA_temp;
end;
--------
myclass类继承tempclass类,private 加入procedure AAA_temp;override;
protected 加入procedure AAA; virtual;
procedure myclass.AAA_temp ;
begin
inherited;
AAA;
end;
//在myclass的基类tempclass把baseclass里的方法转换了一下。呵呵。
那我把具体的问题写出来,大家讨论一下是怎么解决这个问题。
baseclass是一个基类(是一个form),procedure AAA;virtual;是加载界面数据的方法。
有很多业务类继承于这个baseclass,如,Bclass1,Bclass2,Bclass3....(诸如入库单,申请单之类)
当然,这些业务类都要override AAA方法。
现在有一部分业务类需要在加载数据后再做一个统一的处理,
procedure Bclass1.AAA;
begin
inherited;
xxx;//这是原来写好的业务逻辑。
doafter_AAA; //这里是需要新加入的控制。
end;如果在每一个业务类里都加这个doafter_AAA方法(是同样的逻辑控制),太麻烦。而且以后要修改这个doafter_AAA也要每个业务类都要改一遍。
再而且不能修改baseclass这个基类,因为还有部分的业务类并不需要这个doafter_AAA方法。
我上面所说的myclass类就是为了解决这个问题。
这个怎么用?
我用
procedure AAA;
procedure AAA;REINTRODUCE;
但是这样编不过去.