線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1438
推到 Plurk!
推到 Facebook!

有必要要有virtual,override修飾字嗎??

答題得分者是:Justmade
chimera
初階會員


發表:62
回覆:78
積分:28
註冊:2003-03-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-25 17:18:28 IP:203.69.xxx.xxx 未訂閱
 
我實驗了一下,父類別沒有virtual,子類別沒有override,
只要有"inherited 方法名"就等於直接拷貝該父類別方法,
如果沒有"inherited 方法名"就等於覆蓋父類別繼承下來的該方法,
那這樣不就跟父類別有virtual,子類別有override修飾字時的情況一樣了嗎??    我實驗的三個unit:    unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons;    type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;    var
  Form1: TForm1;    implementation    uses
  unit2,unit3;    {$R *.DFM}    procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  test1 := Ttest1.create;
  test2 := ttest2.create;      test1.abc;
  test2.abc;
end;    end.        unit Unit2;    interface    uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons;          type
  Ttest1 = class
    procedure abc;
  end;
  
var
  test1 : ttest1;    implementation    procedure Ttest1.abc;
begin
  showmessage('test1.abc');
end;    end.        unit Unit3;    interface    uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, unit2;    type
  Ttest2 = class(Ttest1)
    procedure abc;
  end;
  
var
  test2 : ttest2;    implementation    procedure Ttest2.abc;
begin
  inherited abc;
  showmessage('test2.abc');
end;    end.    
發表人 - chimera 於 2003/06/25 17:19:34
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-25 17:29:12 IP:218.16.xxx.xxx 未訂閱
請參考 : 關於Method 的override謎思? http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27136
chimera
初階會員


發表:62
回覆:78
積分:28
註冊:2003-03-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-25 21:17:57 IP:211.76.xxx.xxx 未訂閱
引言: 請參考 : 關於Method 的override謎思? http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27136
感謝justmade兄, 後來我另外想到了一個測試, 以justmade兄所做的試驗來說: Thuman(Tester).Sex <==就算強制轉換還是不會變成父類別的方法,一樣是子類別的方法
系統時間:2024-05-02 20:28:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!