关于inherited这个关键字。

1、inherited;并不是完整的写法,完整的是在其后加上方法调用。例如:
procedure   TfrmMain.SXMyMessage(var   Msg:TMessage);
begin
        inherited   SXMyMessage(Msg);
    //或者inherited   父类提供的任何可见的方法(需要的参数);
end;
直接写inherited;表示调用父类中相同名字的方法。如果它是重载的则必须写完整,否则编译器不知道调用哪一个重载的方法。
2、inherited并不局限于消息处理中使用,实际上在任何地方都可以使用它。意思就是调用父类的某个方法。例如:
procedure   TForm1.Button1Click(Sender:   TObject);
begin
    inherited   Close;
end;
3、因为inherited只是调用父类的某个方法,因此如果不需要使用这个调用时,那么就没有必要使用inherited。不过   fengjn(小枫)   的说法是不准确的。在大多数时候即使父类没有处理这类消息,也往往应该加上inherited语句,因为父类的处理在将来完全是可能要修改的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值