C#隱藏方法和重寫(xiě)方法

1:方法重寫(xiě):就是在基類(lèi)中的方法用virtual關(guān)鍵字來(lái)標(biāo)識(shí),然后在繼承類(lèi)中對(duì)該類(lèi)進(jìn)行重寫(xiě)

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的道里網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

  

 (override),這樣基類(lèi)中的方法在子類(lèi)中已經(jīng)被重寫(xiě)了,基類(lèi)中的方法在子類(lèi)中已經(jīng)失去了功能

  了。當(dāng)讓基類(lèi)的對(duì)象的引用直接指向繼承類(lèi)的對(duì)象時(shí)(多態(tài)性),調(diào)用該方法則是調(diào)用的繼承類(lèi)中重

  寫(xiě)的方法。

2:方法隱藏:無(wú)論基類(lèi)中的方法是否用了virtual關(guān)鍵字,繼承類(lèi)中都可以用new關(guān)鍵字(如果不用new

  的話,不會(huì)產(chǎn)生錯(cuò)誤,但會(huì)生成一個(gè)編譯警告)將基類(lèi)中的方法隱藏,所謂隱藏就是隱藏,不像重

  寫(xiě),重寫(xiě)就是基類(lèi)中的舊方法在子類(lèi)中已經(jīng)不存在了,而隱藏是基類(lèi)中的方法和子類(lèi)中重寫(xiě)得到的新

  方法都存在。所以當(dāng)讓基類(lèi)的對(duì)象的引用直接指向繼承類(lèi)的對(duì)象時(shí)(多態(tài)性),調(diào)用該方法則是調(diào)用

  的基類(lèi)的方法。

代碼如下:    

         class BaseClass
      {
         public void functionA()
          {
              Console.WriteLine("BaseFunctionA ===");
          }
          public virtual void functionB()
          {
              Console.WriteLine("BaseFunctionB ===");
         }
     }
     class DerivedClass : BaseClass
     {
         new public void functionA()
         {
             Console.WriteLine("DerivedFunctionA ===");
         }
         public override void functionB()
         {
             Console.WriteLine("DerivedFunctionB ===");
         }
     }
    class Program
    {
        static void Main(string[] args)
        {
            BaseClass b2 = new DerivedClass();
            b2.functionA();//BaseFunctionA ===
            b2.functionB();//DerivedFunctionB ===
            Console.WriteLine("-----");
            BaseClass b = new BaseClass();
            b.functionA();//BaseFunctionA ===
            b.functionB();//BaseFunctionB ===
            Console.WriteLine("-----");
            DerivedClass d = new DerivedClass();
            d.functionA();//DerivedFunctionA ===
            d.functionB();//DerivedFunctionB ===
            Console.WriteLine("-----");
        }      
    }

當(dāng)前名稱(chēng):C#隱藏方法和重寫(xiě)方法
本文鏈接:http://bm7419.com/article14/iposge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、云服務(wù)器面包屑導(dǎo)航、網(wǎng)站導(dǎo)航動(dòng)態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)