91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#forUnity快速入門(連載7)-C#多態性

發布時間:2020-07-06 22:21:10 來源:網絡 閱讀:1593 作者:Liu_guozhu 欄目:開發技術

 C# for Unity 編程語言快速入門教程(連載7)---C#OOP編程之多態性 


    C#的多態性本質上就是“一個方法實現多種功能”,為大中型項目開發提供便利性,起到大幅提高效率的目的。在C#的多態性上主要分為:“方法重載”與“方法覆蓋”兩種。


  “方法重載”說的是一個方法,通過不同的“簽名”(即:不同的方法參數列表),實現不同的功能,從而避免了大量相似的功能需要不同的方法名。


  “方法重寫"是指在具有繼承關系的父子類中,子類通過本功能實現不同功能的一種技術手段,目的是實現編程的靈活性。例如C#中Object 這個"根類"(即:通俗說就是“老祖宗”類,再也沒有上級類了)有一個ToString() 的方法,我們很多的項目類中,為了項目的實際需要常常“重寫”這個方法。


現就這一部分知識點,總結如下:


1: 方法重載              [靜態多態性]   
   1.1> 方法(函數)簽名
           參數的數量
           參數的類型
           參數的順序
   1.2>構造函數重載

2: 繼承關系下的方法重載(即重寫)  [動態多態性]
   2.1> 使用 virtual 與override 關鍵字.
         A) 基類(即:父類)不為virtual 的方法,派生類不能使用override 進行重寫。
         B) 假如派生類(即:子類)不用override 關鍵字來聲明方法,就不會覆蓋基類方法, 它只會成為和基類的方法完全不相關的另一個方法的實現。

   2.2>使用 sealed/partial 關鍵字.
          密封類表示不能繼承該類。
          密封方法表示不能重寫該方法。可以覆蓋父類的密封方法,與父類中的方法是否為密封的沒有關系。
   2.3> 關于方法重寫的部分規則總結
         A): 不能重寫父類中的sealed方法.
         B): 不能重寫父類中的static 方法.
         C): 子類必須重寫父類中的抽象方法. [備注:“抽象方法”,筆者在下一篇進行詳細講解]


本部分的筆者提供以下編程題目,供C#初學者進行編程練習。


1: 利用多態性實現多功能計算器:
   1) 定義方法名為computeMethod 的方法,實現加法器。
   2) 再定義方法名為computeMethod 的方法,實現具備加減乘除綜合計算功能。
   3) 在main 方法中調用以上方法,且測試。


2: 利用多態性實現如下功能。
   1) 定義一個Father 類,利用構造方法的重載概念定義三個構造方法。
   2) 定義Child 類繼承Father類,在Child的構造方法中分別調用父類不同的構造方法。


3: 設計一個基類,在其中創建方法MConvert,這個方法接受一個代表公里數的參數,將其轉換為對等的英里數之后,然后創建一個繼承此類的子類,增加可將輸入的公斤數轉換為磅的新方法 KConvert, 最后產生子類的實例對象, 測試這兩個功能。
    提示信息:
    1千米(公里) = 0.62英里
    1千克(公斤) = 2.2磅


4: 調整上一題的內容,將其中的MConvert方法聲明為virtual, 然后在子類中進行覆寫,以其所接受的參數為正方形邊長,轉換為英里后計算其面積。


5:創建一個類,重寫ToString() 方法, 當其被引用的時候,能夠輸出此類對象的說明文字,如下:“測試用的myObject 類對象”

    

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦甸市| 页游| 泸定县| 沈丘县| 东城区| 开封县| 扎赉特旗| 荔浦县| 上高县| 镇宁| 天镇县| 博兴县| 乐山市| 共和县| 哈巴河县| 焦作市| 南岸区| 离岛区| 平罗县| 巴林右旗| 白山市| 南通市| 保定市| 温州市| 柳林县| 彭州市| 烟台市| 海宁市| 姚安县| 双桥区| 彭泽县| 西乌珠穆沁旗| 石屏县| 上杭县| 金阳县| 漠河县| 眉山市| 板桥市| 红安县| 麦盖提县| 石台县|