Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ตัวดัดแปลงที่ปิดผนึกใน 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("ClassTwoderivedClass");
   }
}

class ClassThree : ClassTwo {
   public override void display() {
      Console.WriteLine("ClassThree: Another Derived Class");
   }
}

ด้านบน ภายใต้คลาสที่ได้รับ ClassThree เราได้พยายามแทนที่วิธีการปิดผนึก นี่จะแสดงข้อผิดพลาดเนื่องจากไม่อนุญาตเมื่อคุณใช้วิธีปิดผนึก