程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#語法練習(12): 類[四] - 抽象類與抽象成員、密封類與密封成員(2)

C#語法練習(12): 類[四] - 抽象類與抽象成員、密封類與密封成員(2)

編輯:關於C語言

抽象方法只能包含在抽象類中:

using System;

abstract class Parent
{
   /* 抽象方法是隱式的虛方法, 但不能用 static 或 virtual 修飾 */
   public abstract void Method1();

   /* 抽象類可以包含非抽象方法 */
   public void Method2() { Console.WriteLine("Method2"); }

   /* 甚至可以包含靜態方法 */
   public static void Method3() { Console.WriteLine("Method3"); }
}

class Child : Parent
{
   /* 實現抽象方法要使用 override */
   public override void Method1() { Console.WriteLine("Method1"); }
}

class Program
{
   static void Main()
   {
     Parent.Method3();     // Method3
     Child.Method3();     // Method3

     Parent obj = new Child();
     obj.Method1();       // Method1
     obj.Method2();       // Method2

     Console.ReadKey();
   }
}

派生類要實現父類的抽象方法, 除非它自己也是抽象類:

using System;

abstract class Parent
{
   public abstract void Method1();
}

abstract class Child1 : Parent
{

}

class Child2 : Child1
{
   public override void Method1() { Console.WriteLine("Method1"); }
}

class Program
{
   static void Main()
   {
     Parent obj = new Child2();
     obj.Method1(); //Method1

     Console.ReadKey();
   }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved