สารบัญ:
คำจำกัดความ - Destructor หมายถึงอะไร
destructor เป็นวิธีพิเศษที่เรียกโดยอัตโนมัติในระหว่างการทำลายวัตถุ การดำเนินการใน destructor มีดังต่อไปนี้:
- การกู้คืนพื้นที่ฮีปที่จัดสรรระหว่างอายุการใช้งานของวัตถุ
- การปิดการเชื่อมต่อไฟล์หรือฐานข้อมูล
- ปล่อยทรัพยากรเครือข่าย
- ปล่อยทรัพยากรล็อค
- งานทำความสะอาดอื่น ๆ
Techopedia อธิบาย Destructor
Destructors ถูกเรียกอย่างชัดเจนใน C ++ อย่างไรก็ตามใน C # และ Java สิ่งนี้ไม่ใช่กรณีเนื่องจากการจัดสรรและการปล่อยหน่วยความจำที่จัดสรรให้กับวัตถุนั้นได้รับการจัดการโดยตัวเก็บขยะ ในขณะที่ destructors ใน C # และ Java (เรียกว่า finalizers) เป็น nondeterministic, destructors C # จะรับประกันว่าจะถูกเรียกโดยเวลารัน. NET อย่างไรก็ตาม Java finalizers ต้องถูกเรียกใช้อย่างชัดเจนเนื่องจากไม่รับประกันการเรียกใช้
คุณสมบัติที่สำคัญของ destructors สามารถสรุปได้ดังนี้:
- การร้องขออัตโนมัติและไม่มีการโทรที่ชัดเจนจากรหัสผู้ใช้
- ไม่อนุญาตการบรรทุกเกินพิกัดหรือการสืบทอด
- ไม่ได้ระบุตัวดัดแปลงการเข้าถึงหรือพารามิเตอร์
- ลำดับของการโทรหาผู้ทำลายล้างในคลาสที่ได้รับมาจากลำดับที่ได้รับมากที่สุดไปยังระดับต่ำสุด
- เรียกได้ว่าไม่เพียง แต่ในช่วงที่วัตถุถูกทำลาย แต่ยังรวมถึงเมื่อวัตถุอินสแตนซ์นั้นไม่มีสิทธิ์เข้าใช้อีกต่อไป
- ใช้ในคลาส แต่ไม่ใช่ structs
- ใช้เพื่อปล่อยทรัพยากรที่ไม่มีการจัดการที่มีราคาแพงเท่านั้น (เช่น Windows, การเชื่อมต่อเครือข่าย ฯลฯ ) ที่วัตถุเก็บไว้แทนที่จะปล่อยการอ้างอิงที่มีการจัดการ
