Delphi中override overload reintroduction的用法

1、override overload reintroduce的中文叫法是什么?
override:覆蓋;overload:重載;Reintroduce:重定義
2、在子類中override或overload父類中的動態(tài)或虛擬方法后是否會改變父類中的相應(yīng)方法?
不會
3、self是怎么回事,怎么使用?
Self因為這這個對象本身,例如,在TForm1的OnCreate事件中寫Self指的是TForm1實例化后的對象,如果TForm1上有一個TButton叫做Button1,那么OnButton1Click中寫的Self也是TForm1實例化后的對象,
4、reintroduce與override overload有何區(qū)別,怎么使用?
在子孫類中要聲明一個與祖先類中參數(shù)不同的方法的時候用Reintroduce,
但需要重新定義一個祖先類總的虛擬的或者動態(tài)的方法的時候,要用到Override;如果祖先類中的方法不是虛擬的或者動態(tài)的(定義的時候有virtual;就是虛擬的,有dynamic;就是動態(tài)的);那么是沒有辦法override的
至于Overload,一般適用于定義一組不同參數(shù)的函數(shù),這些函數(shù)也可以不是Of Objects(中文該怎么說?)。
reintroduce引入是為了屏蔽父類的一個虛方法,而在子類中生成一個新的方法;overload是為了處理同名的方法有不同的參數(shù)而設(shè)計的;
其實你不使用reintroduce也會覆蓋屏蔽父類的方法的但是會產(chǎn)生一個警告,
使用了這個關(guān)鍵字,表明你要屏蔽這樣不會產(chǎn)生警告的!

如果類不從別的類繼承(實際上也就是從TObject繼承),
constructor Create; virtual; //virtual表示虛函數(shù),表示可以被子類override;
destructor Destory: virtual;
如果從其它類繼承,如:TForm
constructor Create(AOwner: TComponent); override;
destructor Destory: override;
如果子類想再overload一個函數(shù),則必須加上reintroduce和overload
constructor Create(AOwner: TComponent); overload; override; //這里的overload必面在override之前.
constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; overload;
例子
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
Ta = class(TObject)
public
constructor Create; virtual;
destructor Destory; virtual;
procedure aaa; virtual;
end;
tb = class(ta)
public
constructor Create; overload; override;
constructor Create(a: String); reintroduce; overload;
destructor Destory; override;
procedure aaa; overload; override;
procedure aaa(a: string); reintroduce; overload;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
c: tb;
public
{ Public declarations }
end;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,811評論 18 399
  • Java基礎(chǔ)常見英語詞匯(共70個)['?bd?ekt] ['?:rientid]導(dǎo)向的 ...
    今夜子辰閱讀 3,500評論 1 34
  • Introduction to C++ (Season 1) Unit 1: Overview of C++ 第1...
    我是阿喵醬閱讀 2,834評論 0 7
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評論 19 139
  • 很實用的編程英語詞庫,共收錄一千五百余條詞匯。 第一部分: application 應(yīng)用程式 應(yīng)用、應(yīng)用程序app...
    春天的蜜蜂閱讀 1,618評論 0 22

友情鏈接更多精彩內(nèi)容