الفرق بين المُنشئ والمُدمِّر

جدول المحتويات:

الفرق بين المُنشئ والمُدمِّر
الفرق بين المُنشئ والمُدمِّر

فيديو: الفرق بين المُنشئ والمُدمِّر

فيديو: الفرق بين المُنشئ والمُدمِّر
فيديو: 07 - C++ - Constructor & Destructor - Part 1 2024, يوليو
Anonim

الفرق الرئيسي - المُنشئ مقابل المُدمِّر

تدعم معظم لغات البرمجة البرمجة الشيئية (OOP). إنه النموذج الذي يساعد على نمذجة برنامج أو برنامج باستخدام الكائنات. OOP يحسن الإنتاجية وقابلية الصيانة. في OOP يعتبر كل شيء ككائن. يتم إنشاء الكائنات أو إنشاء مثيل لها باستخدام الفئات. المُنشئ والمُدمر مصطلحات شائعة في البرمجة الشيئية. تتناول هذه المقالة الفرق بين المُنشئ والمُلحق. المُنشئ والمُتلف عبارة عن وظيفة خاصة للعضو في الفصل الدراسي. يكون للمُنشئ والمُلحق نفس اسم الفئة ، لكن المدمر له علامة التلدة (~).يتمثل الاختلاف الرئيسي بين المُنشئ والمُلحق في استخدام المُنشئ لتخصيص ذاكرة لكائن ما أثناء استخدام أداة التدمير لإلغاء تخصيص ذاكرة الكائن.

ما هو المنشئ؟

المُنشئ هو وظيفة عضو خاصة في الفصل لتخصيص ذاكرة لكائن. يمكن استخدامه لتوفير القيم لأعضاء البيانات. يتم استدعاء المُنشئ عند إنشاء الكائن. لها نفس اسم اسم الفئة. لا يقوم المنشئ بإرجاع أي قيمة. لذلك ، لا يحتوي على نوع إرجاع. يمكن للمنشئ أيضًا قبول المعلمات. يُعرف المُنشئ ذو المعلمات بأنه مُنشئ معلمات.

مثال على المُنشئ كما يلي.

مستطيل من الدرجة العامة {

كثافة العمليات الطول والعرض ؛

public Rectangle (int p، int q) {

الطول=p ؛

العرض=q ؛

}

public int calculateArea () {

عودة (الطولالعرض) ؛

}

}

وفقًا لجزء الكود أعلاه ، يحمل المُنشئ نفس اسم اسم الفئة. يقبل المنشئ Rectangle معلمتين. هم p و q. يتم تعيين القيمة الصحيحة p للطول. يتم تعيين قيمة العدد الصحيح q للعرض. في calcu alteArea ، يتم حساب ضرب الطول والعرض لإيجاد مساحة المستطيل. في البرنامج الرئيسي ، يمكن للمبرمج إنشاء كائن من النوع Rectangle وتمرير الوسائط. على سبيل المثال Rectangle rect1=مستطيل جديد (2، 3). بعد ذلك ، يتم استدعاء المُنشئ ذي المعلمات وتعيين القيم للطول والعرض.

الفرق بين المُنشئ والمُدمِّر
الفرق بين المُنشئ والمُدمِّر

الشكل 01: المُنشئ والمُدمِّر

عندما يكون هناك مُنشئ بدون أي معلمات ، يطلق عليه المُنشئ الافتراضي.إذا لم يعرّف المبرمج مُنشئًا ، فسيتم استدعاء المُنشئ الافتراضي. إذا كان هناك فصل دراسي كطالب وعندما ينشئ المبرمج كائنًا من نوع Student ، يتم استدعاء المُنشئ الافتراضي. على سبيل المثال طالب s1=طالب جديد () ؛ يمكن أن يكون هناك مُنشئون متعددون بمعلمات مختلفة وأنواع بيانات مختلفة في الفصل. يمكن استدعاء المُنشئ المناسب وفقًا لذلك. لذلك ، يمكن تحميل المنشئات أكثر من اللازم.

ما هو المدمر؟

المدمر هو وظيفة عضو خاصة في الفصل. يتم استخدامه لإلغاء تخصيص الذاكرة لكائن تم إنشاؤه بواسطة المنشئ. يتم استدعاء المدمر عند تدمير الكائن. ينفذ تخزين التنظيف الذي لم يعد مطلوبًا. مثل المُنشئ ، فإن المدمر له نفس اسم الفئة. يحتوي أيضًا على رمز التلدة (~).

لا يُرجع المدمر أي قيمة. بخلاف المنشئ ، لا يقبل التدمير أي معلمات. لذلك ، لا يدعم التدمير التحميل الزائد.يعتبر إعلان المدمر ممارسة برمجة جيدة لأنه يحرر مساحة الذاكرة ويمكن استخدام تلك المساحة لتخزين بعض الكائنات الأخرى. يشبه بناء جملة التدمير ~ className () {}. على سبيل المثال ~ مستطيل () {} ، يمكن أن يكون هناك مدمر واحد فقط في الفصل.

ما هي أوجه التشابه بين المنشئ والمدمر؟

  • كلا المنشئ والمدمّر مرتبطان بالكائنات.
  • كل من المُنشئ والمُدمِّر لا يُرجعان أي قيمة.
  • يتم استدعاء كل من المُنشئ والمُدمِّر تلقائيًا.

ما الفرق بين المُنشئ والمُدمِّر؟

المنشئ مقابل المدمر

المُنشئ هو عضو خاص في الفصل يستخدم لتخصيص الذاكرة لكائن. المدمر هو عضو خاص بالفئة يستخدم لإلغاء تخصيص ذاكرة كائن.
طريقة الاستدعاء
يتم استدعاء المُنشئ عند إنشاء الكائن. يسمى التدمير عندما يتم تدمير الكائن أو حذفه.
الاستخدام
يستخدم المُنشئ لتخصيص الذاكرة للكائنات. يتم استخدام أداة التدمير لإلغاء تخصيص الذاكرة للكائنات.
المعلمات
يقبل المُنشئ المعلمات. المدمر لا يقبل المعلمات.
عدد الصانعين والمدمرين
يمكن أن يكون هناك مُنشئون متعددون بعدد مختلف من المعلمات وأنواع مختلفة من المعلمات. يمكن أن يكون هناك مدمر واحد في الفصل.
سرعة التنفيذ
المُنشئ له نفس اسم اسم الفئة. المدمر له نفس اسم اسم الفئة مع رمز التلدة (~).
التحميل الزائد
يمكن زيادة التحميل على المُنشئ. لا يمكن زيادة التحميل على المدمر.

ملخص - المُنشئ مقابل المُدمر

OOP هو نموذج شائع في تطوير البرمجيات ، يمكنه تبسيط مشروع معقد. يتم استخدام المُنشئ والمُدمِّر في OOP. المُنشئ والمُلحق لهما نفس اسم الفئة ، لكن المدمر له علامة ~.يتمثل الاختلاف بين المُنشئ والمُلحق في استخدام المُنشئ لتخصيص ذاكرة لكائن ما أثناء استخدام أداة التدمير لإلغاء تخصيص ذاكرة الكائن.

قم بتنزيل ملف PDF الخاص بـ Constructor vs Destructor

يمكنك تنزيل نسخة PDF من هذه المقالة واستخدامها لأغراض غير متصلة بالإنترنت وفقًا لملاحظة الاقتباس. يرجى تنزيل نسخة PDF من هنا: الفرق بين المُنشئ والمُدمِّر

موصى به: