DELPHI 关于inherited 返回值
type TFrame3 = class(TFrame) private { Private declarations } public { Public declarations } function test():string; end; implementation {$R *.dfm} { TFrame3 } function TFrame3.test: string; begin Result:='test'; end;
继承上面的Frame,并添加一个EDIT和BUTTON控件,用于测试返回值:
type TFrame2 = class(TFrame3) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } function test():string; end; implementation {$R *.dfm} { TFrame2 } procedure TFrame2.Button1Click(Sender: TObject); begin Edit1.Text:=test; end; function TFrame2.test: string; begin //inherited; // 隐含调用父类同名方法,不关心返回值 //Result:= Result + '123'; //这里的Result 初始值为空.所以只返回 '123' Result:= inherited test + '123'; //明确获取父类方法的返回值.返回'test123' end; end.

浙公网安备 33010602011771号