C# 快速導覽 - sealed 類別與成員







































C# 快速導覽 - sealed 類別與成員






宣告為 sealed 的類別 (class) 不可被繼承,而宣告為 sealed 的方法 (method) 不可被子類別 (subclass) 改寫。



舉例如下
sealed class Demo {
public void DoSomething() {
System.Console.WriteLine("There is no spoon.");
}
}

class Demo2 {
static void Main() {
Demo d = new Demo();
d.DoSomething();
}
}

/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:class21.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */



Demo 宣告為 sealed ,因此不可被繼承
sealed class Demo {



編譯執行,結果如下



下例示範宣告為 sealed 的方法
class Demo {
public virtual void DoSomething() {
System.Console.WriteLine("There is no spoon.");
}
}

class Demo2 : Demo {
public sealed override void DoSomething() {
System.Console.WriteLine("Free your mind.");
}
}

class DemoTest {
static void Main() {
Demo2 d = new Demo2();
d.DoSomething();
}
}

/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:class22.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */



sealed 必須跟 override 連用,因此是讓被改寫的方法不可再被改寫。
public sealed override void DoSomething() {
System.Console.WriteLine("Free your mind.");
}



編譯執行,結果如下



















中英文術語對照
類別class
方法method
子類別subclass



您可以繼續參考

類別




相關目錄

回 C# 快速導覽
回 C# 教材
回首頁



參考資料

Standard ECMA-334 C# Language Specification
msdn: sealed (C# 參考)







沒有留言:




















window.___gcfg = { 'lang': 'zh-TW' };





Popular posts from this blog

迅雷 Thunder 7.9.43.5054 免安裝版 (9.1.41.914 安裝版) - 支援BT下載的萬用 檔案下載工具

qBittorrent 4.1.1 免安裝中文版 - 取代uTorrent的BT下載器

Nhiều đồn đoán cho rằng bộ đồ "phá vỡ quy tắc" của Meghan Markle được lấy cảm hứng từ trang phục của Công nương Diana