程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 密封方法

密封方法

編輯:關於C語言

我們已經知道,使用密封方法可以防止對類的繼承。C#還提出了密封方法(sealed method)的概念,以防止在方法所在類的派生類中對該方法的重載。

對方法可以使用sealed修飾符,這時我們稱該方法是一個密封方法。

不是類的每個成員都可以作為密封方法,密封方法必須對基類的虛方法進行重載,提供具體的實現方法。所以,在方法的聲明中,sealed修飾符總是和override修飾符同時使用。請看例子代碼:

程序清單14-7:

using System;
class A
{
 public virtual void F(){
    Console.WriteLine("A.F");
 }
 public virtual void G(){
    Console.WriteLine("A.G");
 }
}
class B:A
{
 sealed override public void F(){
    Console.WriteLine("B.F");
 }
 override public void G(){
    Console.WriteLine("B.G");
 }
}
class C:B
{
  override public void G(){
    Console.WriteLine("C.G");
  }
}

類B對基類A中的兩個虛方法均進行了重載,其中F方法使用了sealed修飾符,成為一個密封方法。G方法不是密封方法,所以在B的派生類C中,可以重載方法G,但不能重載方法F。

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