Java มีคีย์เวิร์ดสุดท้าย แต่ C# ไม่มีการนำไปใช้ สำหรับการใช้งานแบบเดียวกัน ให้ใช้คีย์เวิร์ดปิดผนึก
ด้วยการปิดผนึก คุณสามารถป้องกันการแทนที่วิธีการได้ เมื่อคุณใช้ตัวดัดแปลงที่ปิดสนิทใน C # บนเมธอด เมธอดนั้นจะสูญเสียความสามารถในการแทนที่ วิธีการปิดผนึกควรเป็นส่วนหนึ่งของคลาสที่ได้รับและวิธีการจะต้องเป็นวิธีที่ถูกแทนที่
ตัวอย่างต่อไปนี้จะไม่อนุญาตให้คุณแทนที่เมธอด display() เนื่องจากมีตัวแก้ไขแบบปิดผนึกสำหรับคลาสที่ได้รับ ClassTwo
ClassOne คือคลาสพื้นฐานของเรา ในขณะที่ ClassTwo และ ClassThree เป็นคลาสที่ได้รับ -
ตัวอย่าง
class ClassOne {
public virtual void display() {
Console.WriteLine("Baseclass");
}
}
class ClassTwo : ClassOne {
public sealed override void display() {
Console.WriteLine("ClassTwo:derivedClass");
}
}
class ClassThree : ClassTwo {
public override void display() {
Console.WriteLine("ClassThree: Another Derived Class");
}
}