c# sealed class คือการทำให้ class ไม่สามารถสืบต่อได้อีกต่อไป
การประกาศ Class ให้เป็น sealed class
เราจะใส่ Keyword sealed ไว้ที่ class ก็จะทำให้ class กลายเป็น sealed class แล้ว
public sealed class Honda : Car
{
}
Complier กับ Sealed class
หากเราพยายามที่จะสืบทอด class จาก sealed class แล้ว visual studio จะฟ้องว่า ไม่อนุญาตให้ทำการสืบต่อ
จากภาพด้านล่างจะเห็นว่าได้กำหนดให้ Honda เป็น sealed class เมื่อเราทำการประกาศ class civic โดยให้สืบต่อจาก Honda class จะเห็นว่าไม่สามารถทำได้ compiler จะฟ้อง error ให้เห็นหากเราเอาเมาส์ไปชี้ข้อความ Honda ที่ขีดเส้นไว้
C# Sealed class ใช้ประโยชน์อย่างไร
เมื่อเราออกแบบคลาสไม่ให้มีการสืบทอด นอกจากนี้ยังป้องกันผู้นำ class ไปสืบทอดใช้อย่างไม่เหมาะสม ตัวอย่างเช่น Microsoft ได้ sealed class String ไว้ ถ้าหากว่าไม่ sealed แล้วเปิดให้โปรแกรมเมอร์อย่างเราไปใช้อย่างไม่เหมาะสมก็อาจจะมีผลกระทบอื่นๆตามมาได้
นอกจากนี้การที่ระบุว่าเป็น sealed class ยังช่วยเรื่อง performance อีกด้วย เพราะว่า CLR (common language runtime) ไม่ต้องวิ่งหาคลาสลูกต่อๆไป