جدول المحتويات:
التعريف - ماذا يعني المدمر؟
المدمرة هي طريقة خاصة تسمى تلقائيًا أثناء تدمير كائن. تشمل الإجراءات المنفذة في المدمر ما يلي:
- استعادة مساحة الكومة المخصصة خلال عمر كائن
- إغلاق ملف أو اتصالات قاعدة البيانات
- الافراج عن موارد الشبكة
- الافراج عن أقفال الموارد
- مهام التدبير المنزلي الأخرى
تيكوبيديا يوضح المدمر
يتم استدعاء Destructors بشكل صريح في C ++. ومع ذلك ، في C # و Java ليست هذه هي الحالة ، حيث يتم تخصيص وإصدار الذاكرة المخصصة للكائنات ضمنيًا بواسطة جامع البيانات المهملة. في حين أن destructors في C # و Java (تسمى finalizers) غير محددين ، فإن C # destructors مضمونة ليتم استدعاؤها بواسطة وقت تشغيل .NET. ومع ذلك ، يجب التذرع نهائيًا بصيغ Java النهائية نظرًا لعدم الاحتجاج بها.
يمكن تلخيص الخصائص الرئيسية للمدمرات على النحو التالي:
- الاحتجاج التلقائي وعدم وجود دعوة صريحة من رمز المستخدم
- الحمولة الزائدة أو الميراث غير مسموح به
- الوصول إلى المعدلات أو المعلمات لا يتم تحديد
- ترتيب استدعاء destructor في فئة مشتقة من الأكثر مشتقة إلى الأقل مشتقة
- يتم الاتصال به ليس فقط أثناء تدمير الكائن ، ولكن أيضًا عندما يكون مثيل الكائن لم يعد مؤهلاً للوصول
- المستخدمة في الفصول ولكن ليس الهياكل
- يستخدم فقط لإطلاق موارد باهظة الثمن غير مدارة (مثل النوافذ ، واتصال الشبكة ، وما إلى ذلك) التي يحتفظ بها الكائن ، بدلاً من إطلاق المراجع المدارة