下面这两种写法在inherited的效果上有什么区别么? procedure TOBJ.Delete;begin inherited Delete;end;procedure TOBJ.Delete;begin inherited;end; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //父类的方法procedure TOBJ.Delete;begin inherited Delete;end;//子类的方法procedure TChildOBJ.Delete(AIndex:Integer);begin inherited Delete; 自己的删除方法end; 第一种方式一般常见于子类修改了入口参数的情况。对 ZyxIp(绝望中...) 的代码质疑,不论如何,保持一个良好风格是一个程序员应尽的责任,在销毁代码中应当先销毁子类构造的部分,然后再调用父类销毁代码。 delete 并不是释放如果这个类是从 TStringList 中继承的则先调用父类的Delete 方法。然后在做一些其它的操作。如果要销毁自己,一般不会是自己调用了。 inherited Delete;指明要调用父类的函数名,如果不指明,则默认调用父类的同名函数。 可以指定父类的这个方法的参数啊比如begin inherited Delete(Str);end;begin inherited Delete;end; 就你这个看是没却别的。 他会选择和当前函数同型的父类析构函数。如果有多个析构函数,你可以自己指明,这个情况在构造函数里面用的较多。虽然它允许这么写 inherited;但是我觉得这样写既不清晰也有隐患。 跪求~~大牛在想等啊。 转义字符啊~~ 窗体翻转是如何实现? 怎么使listbox内容显示完全 请问为什么关闭程序以后会出现以下的错误? 我是不是真的编程火星人了?来这里看到的奇怪现象。 如何利用ADO控件在同一个MDB文件中备份数据表 一道面试题 哪里有DELPHI6中文版或其中的帮助文件下载?有可靠链接的第一个给分50分以上(QQ:51129127)(无内容) ******已经有50分在外面了,谁来解答就给大分!!! 一段c#代码,是调用了dll,大侠们帮我转为delphi版本,谢谢。 太奇怪了没有协议资料 alphax 和 yayx 来领分
procedure TOBJ.Delete;
begin
inherited Delete;
end;//子类的方法
procedure TChildOBJ.Delete(AIndex:Integer);
begin
inherited Delete;
自己的删除方法end;
比如
begin
inherited Delete(Str);
end;begin
inherited Delete;
end;
如果有多个析构函数,你可以自己指明,这个情况在构造函数里面用的较多。虽然它允许这么写 inherited;但是我觉得这样写既不清晰也有隐患。