<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    3278 7840

    1100111010001110 1001010010001010

    多態

    多態(Polymorphism)按字面的意思就是“多種形狀”。引用Charlie Calverts對多態的描述——多態性是允許你將父對象設置成為和一個或更多的他的子對象相等的技術,賦值之后,父對象就可以根據當前賦值給它的子對象的特性以不同的方式運作(摘自“Delphi4 編程技術內幕”)。簡單的說,就是一句話:允許將子類類型的指針賦值給父類類型的指針。多態性在Object Pascal和C++中都是通過虛函數(Virtual Function) 實現的。
      多態性是允許將父對象設置成為和一個或多個它的子對象相等的技術,比如Parent:=Child; 多態性使得能夠利用同一類(基類)類型的指針來引用不同類的對象,以及根據所引用對象的不同,以不同的方式執行相同的操作.
      多態的作用:把不同的子類對象都當作父類來看,可以屏蔽不同子類對象之間的差異,寫出通用的代碼,做出通用的編程,以適應需求的不斷變化。
      賦值之后,父對象就可以根據當前賦值給它的子對象的特性以不同的方式運作。也就是說,父親的行為像兒子,而不是兒子的行為像父親。
      舉個例子:從一個基類中派生,響應一個虛命令,產生不同的結果。
      比如從某個基類繼承出多個對象,其基類有一個虛方法Tdoit,然后其子類也有這個方法,但行為不同,然后這些子對象中的任何一個可以附給其基類的對象,這樣其基類的對象就可以執行不同的操作了。實際上你是在通過其基類來訪問其子對象的,你要做的就是一個賦值操作。
      使用繼承性的結果就是可以創建一個類的家族,在認識這個類的家族時,就是把導出類的對象 當作基類的的對象,這種認識又叫作upcasting。這樣認識的重要性在于:我們可以只針對基類寫出一段程序,但它可以適 應于這個類的家族,因為編譯器會自動就找出合適的對象來執行操作。這種現象又稱為多態性。而實現多態性的手段又叫稱動態綁定(dynamic binding)。
      簡單的說,建立一個父類的變量,它的內容可以是這個父類的,也可以是它的子類的,當子類擁有和父類同樣的函數,當使用這個變量調用這個函數的時候,定義這個變量的類,也就是父類,里的同名函數將被調用,當在父類里的這個函數前加virtual關鍵字,那么子類的同名函數將被調用
      class A {
      public:
      A() {}
      virtual void foo() {
      cout << "This is A." << endl;
      }
      };
      class B : public A {
      public:
      B() {}
      void foo() {
      cout << "This is B." << endl;
      }
      };
      int main(int argc, char* argv[]) {
      A *a = new B();
      a->foo();
      return 0;
      }
      這將顯示:
      This is B.
      如果把virtual去掉,將顯示:
      This is A.
      前面的多態實現使用抽象類,并定義了虛方法.

    posted on 2009-06-15 21:13 逍遙晨空 閱讀(181) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 成人亚洲性情网站WWW在线观看| 免费人成在线视频| 久久精品国产精品亚洲人人| 色多多免费视频观看区一区| 免费国产精品视频| 日韩免费高清一级毛片| 亚洲福利精品一区二区三区| 免费一级毛片在线播放放视频| 又粗又大又硬又爽的免费视频| 日韩色日韩视频亚洲网站| 免费一级毛片在播放视频| 又硬又粗又长又爽免费看 | 亚洲男人天堂2020| 国产精品成人69XXX免费视频| 国产成人亚洲综合无码精品| 日本免费人成网ww555在线| 亚洲综合亚洲国产尤物| 一个人免费高清在线观看 | 久99久无码精品视频免费播放| 久久精品国产亚洲一区二区| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | a在线观看免费视频| 亚洲AV无码久久精品蜜桃| 久草视频免费在线观看| 亚洲精品无码aⅴ中文字幕蜜桃| 亚洲成av人片天堂网老年人| a级毛片免费完整视频| 亚洲福利视频一区二区三区| 男女交性永久免费视频播放| 一级毛片在播放免费| 亚洲男人天堂av| 国产免费人成视频在线观看| 东方aⅴ免费观看久久av | 亚洲福利在线播放| 18女人腿打开无遮掩免费| 亚洲欧美日本韩国| 久久夜色精品国产亚洲| 成全视频在线观看免费高清动漫视频下载| 曰批全过程免费视频免费看 | 亚洲国产精品嫩草影院在线观看| 精品无码无人网站免费视频|