c# abstract抽象類_非抽象類_virtual_虛方法_override重寫

wisdomone1發表於2012-03-08
//測試:父類的方法標記為virtual時,子類可以用override重寫父類的方法
      class Vehicle
    {
          public virtual void F()
          {
              Console.WriteLine("這是類vehicle的virtual虛方法F");
          }
    }

    class Car : Vehicle
    {
        public override void  F()
       {
          Console.WriteLine("子類CAR繼承了VEHICLE父類,重寫了父類方法F");
       }
        
    }



    //抽象類可以繼承非抽象類
    abstract class Lane : Vehicle
    {
        public override void F()
        {
            Console.WriteLine("抽象類fane重寫了父類的方法F");
        }
    }

    //子類的抽象方法重寫了非抽象類的虛方法
    //這樣就可以屏掉在繼承情況下非抽象類的一些虛方法的實現,而編寫自己需要的實現
    abstract class Mv : Vehicle
    {
        public abstract override void F();
       
    }

    class Sun : Mv
    {
        public override void F()
        {
            Console.WriteLine("子類sun繼承了抽象父類,並重寫了抽象父類的抽象方法");
        }

    }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-718056/,如需轉載,請註明出處,否則將追究法律責任。

相關文章