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

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

編輯:關於C語言

密封類與密封成員:

using System;

class Parent
{
   public virtual void Method1() { Console.WriteLine("Method1"); }
   public virtual void Method2() { Console.WriteLine("Method2"); }
   public virtual void Method3() { Console.WriteLine("Method3"); }
}

class Child1 : Parent
{
   /* 下面兩個方法可以繼續覆蓋 */
   public override void Method1() { Console.WriteLine("New Method1"); }
   public override void Method2() { Console.WriteLine("New Method2"); }

   /* 此方法已用 sealed 禁止了繼續覆蓋, 也就是取消了虛函數的特性 */
   public sealed override void Method3() { Console.WriteLine("New Method3"); }
}

/* 此類用 sealed 定為密封類, 不能再有派生類; 不管其內部的性質如何 */
sealed class Child2 : Child1
{
   public override void Method1() { Console.WriteLine("New New Method1"); }
   public sealed override void Method2() { Console.WriteLine("New New Method2"); }
}


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

     Console.ReadKey();
   }
}

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