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

Virtual vs Sealed vs New vs Abstract ใน C #


เสมือน

คีย์เวิร์ดเสมือนช่วยให้คลาสถูกแทนที่ได้ สำหรับการแทนที่เมธอดคลาสพาเรนต์ในคลาสย่อย ให้ประกาศเมธอดคลาสพาเรนต์เป็นแบบเสมือน

ปิดผนึก

เมื่อคลาสถูกประกาศปิดผนึก จะไม่สามารถสืบทอด คลาสนามธรรมไม่สามารถประกาศปิดผนึกได้

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

public sealed override void getResult() { }

ใหม่

ใช้คีย์เวิร์ดใหม่เพื่อซ่อนเมธอดคลาสฐานจากคลาสที่ได้รับ ทำได้โดยการประกาศฟังก์ชันคลาสที่ได้รับด้วย new นี่คือวิธีการใช้ใหม่ใน Shadowing

public new string getResult()

บทคัดย่อ

คลาสนามธรรมประกอบด้วยเมธอดนามธรรมซึ่งใช้งานโดยคลาสที่ได้รับ

abstract class Vehicle