C#forUnity快速入門(連載7)-C#多態(tài)性-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)建站長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為虞城企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,虞城網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

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

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

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

現(xiàn)就這一部分知識點,總結(jié)如下:

1: 方法重載             [靜態(tài)多態(tài)性]
  1.1> 方法(函數(shù))簽名
          參數(shù)的數(shù)量
          參數(shù)的類型
          參數(shù)的順序
  1.2>構(gòu)造函數(shù)重載

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

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

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

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

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

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

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

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

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:C#forUnity快速入門(連載7)-C#多態(tài)性-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://bm7419.com/article4/ceddie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站收錄域名注冊、動態(tài)網(wǎng)站Google、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)