請教:inherited是做什麽的

imfzp 2005-03-19 07:29:27
比如這種行代碼中的inherited;
英語意思好像是繼承吧
delphi裏具體起什麽作用啊,可不可以去掉這行
procedure TFrm_office.FormCreate(Sender: TObject);
begin
inherited;

end;
...全文
174 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
leehaitao 2005-05-12
  • 打赏
  • 举报
回复
可以在任何地方使用,如果不跟具体的过程名,表示是一个override的方法,在该方法里调用父类的同名方法,后面跟具体过程名,表示直接调用父类的该方法。
Stiven_PFan 2005-03-26
  • 打赏
  • 举报
回复
inherited 后面指定过程名,则是执行父类中的过程
不指定则执行父类中与本过程同名的过程
finalfighter 2005-03-26
  • 打赏
  • 举报
回复
看来楼主没有领会“继承”的思想!
好好看看资料吧!
todouwang 2005-03-26
  • 打赏
  • 举报
回复
继承,有了它,就要执行该对象父类里的过程和方法,
比如在d5开发指南里就写了一个窗体的过程,没调用inherited 的话,根本窗体不画出来,
因为绘窗体的过程在它父类里的
zhxzhx 2005-03-21
  • 打赏
  • 举报
回复
在某些时候要加,如需要继承父类的各项功能时不可以省去,如果不是的话是可以省去的.
何鲁青 2005-03-21
  • 打赏
  • 举报
回复
对 smiler007(笑一笑) 的一点点补充
inherited一般用在override一个父类的方法
但是又不仅仅局限在这种用法,在任何地方你都可以使用
inherited,其实说白了就是继承一个父类的同名的方法
(注意:同名)
晨池 2005-03-20
  • 打赏
  • 举报
回复
在Delphi6中,需要加,不然就运行的时候出错了
zlkw 2005-03-20
  • 打赏
  • 举报
回复
好像现在创建类的时候,可以在子类不加inherited create; 而会直接调用父类的构造,因为delphi会默认的啊
xiaonanln 2005-03-20
  • 打赏
  • 举报
回复
学习
smiler007 2005-03-20
  • 打赏
  • 举报
回复
就楼主贴出来的代码
procedure TFrm_office.FormCreate(Sender: TObject);
begin
inherited;

end;
如果去掉了inherited语句,那就不会去执行父类form的 OnCreate 事件中的代码了
如果保留 inherited 语句,则会先执行父类form的 OnCreate 事件中的代码,然后会去执行你写在inherited语句后面的代码....
ztenv 2005-03-19
  • 打赏
  • 举报
回复
最好不要去掉,它调用了父类的方法,如果去掉了可能会发生某些 错误,不过你可以试试,在delphi的帮助里去看看吧;
b1a2 2005-03-19
  • 打赏
  • 举报
回复
是调用父类的默认方法,特别是在类中的建立和释放方法中.该语句是不能去掉的!!!否则有可能发生资源泄露
chijingde 2005-03-19
  • 打赏
  • 举报
回复
就是他的字面意思啦

继承

当然可以去掉

去掉以后就不继承了呗

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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