ما هو التحميل الزائد للمنشئ في C ++: الخصائص والأنواع

نشرت: 2021-05-24

C ++ هي لغة برمجة كائنية التوجه شائعة الاستخدام في الصناعة. C ++ هي لغة برمجة رائدة في OOP ، تم تطويرها بواسطة Bjarne Stroustrup في AT & T Bell Laboratories في عام 1979 . قد تكون الميزة الأكثر استخدامًا في c ++ هي إنشاء فئة فيها. داخل الفصل ، يمكننا إنشاء أعضاء الفصل - الأساليب والمتغيرات.

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

مقدمة

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

في C ++ ، تكون المنشئات الافتراضية بدون معلمات. يتم إنشاء مثيل لها من أعضاء الكائن مع القيم الافتراضية المقابلة.

يمكنك الحصول على فكرة عادلة عن التحميل الزائد للمفاهيم المستخدمة في البرمجة الشيئية.

البناء

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

خصائص المنشئ

المُنشئ هو وظيفة عضو خاصة للفصل الدراسي. وهي تختلف عن وظيفة العضو العامة للأسباب التالية:

  • عضو منشئ هو نطاق العامة
  • لها نفس اسم فئة التصريح.
  • الاسم هو حالة حساسة
  • لا يوجد نوع إرجاع للمُنشئين.
  • تم إنشاء المُنشئ الافتراضي بشكل ضمني.
  • عند إنشاء كائن ، يتم استدعاء المُنشئ تلقائيًا.
  • المُنشئ غير موروث بشكل ضمني.
  • عادة ما يكون لها قواعد مختلفة لمعدلات النطاق.

أنواع الصانعين

المُنشئون الافتراضيون - المُنشئ لديه معلمات صفرية ولا توجد وسيطات. هم منشئون ضمني تم إنشاؤه من قبل المترجم.

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

مُنشئ النسخ - هي وظيفة عضو تُستخدم لتهيئة كائن باستخدام كائن آخر من نفس الفئة. يقوم المترجم ، بشكل افتراضي ، بإنشاء مُنشئ نسخة لكل فئة ، باتباع نسخة عضو بين الكائنات.

منشئ في C ++

في c ++ ، يتم استدعاء المُنشئ تلقائيًا عندما يقوم كائن (أي مثيل فئة) بإنشائه.

إذا لم نحدد مُنشئًا ، يقوم مترجم c ++ بإنشاء مُنشئ افتراضي لنا (لا يتوقع أي معلمات وله اسم الفئة).

يترك المُنشئ المكتوب بشكل صحيح الكائن الناتج في حالة صالحة.

عامل البناء الزائد

التحميل الزائد للمنشئ هو ظاهرة قيام المُنشئ بتحميل مُنشئ آخر بشكل زائد.

يمكن تحميل المُنشئ المُعطى بشكل زائد ، على غرار التحميل الزائد للوظيفة.

تتبع المنشئات ذات التحميل الزائد نفس اسم الفئة. ومع ذلك ، فإنه يختلف في عدة حجج. أثناء إنشاء كائن ، يحدد نوع الوسيطات التي تم تمريرها المُنشئ الذي يتم استدعاؤه.

يساعد توافر مُنشئين متعددين بمعلمات مختلفة على أداء مهام مختلفة في البرمجة.

عامل البناء الزائد في C ++

في c ++ ، هناك عدة منشئات في فئة تحت نفس الاسم ولكن قائمة مختلفة من الوسائط. يشبه مفهوم التحميل الزائد للمنشئ في c ++ إلى حد بعيد التحميل الزائد للوظائف.

عادة ، يجب عليك إنشاء أكثر من مُنشئ واحد في الفصل لتهيئة متغيرات الأعضاء بشكل مختلف للكائنات. معايير التصرف بشكل مختلف للمُنشئين هي أن يكون لديهم عدد مختلف من المعلمات أو مواضع مختلفة أو أنواع بيانات مختلفة للمعلمات.

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

كيف يعمل التحميل الزائد للمنشئ في C ++؟

دعنا نفكر في المثال كما هو موضح أدناه:

يوضح الكود مثالاً على التحميل الزائد للمنشئ في c ++ .

هناك نوعان من الصانعين للفئة "احسب":

  1. مُنشئ افتراضي (بدون أي معلمات)
  2. المُنشئ ذو ثلاثة معلمات

وفي () تم إنشاء كائنين.

1. خارج:

عند إنشائه ، سوف يستدعي المُنشئ الافتراضي تلقائيًا بدون أي معلمات. هذا لأنه أثناء إنشاء كائن ، لا توجد معلمة تم تمريرها. لذلك ، فإنه يطابق تعريف الأول (المُنشئ الافتراضي). سيؤدي هذا إلى تعيين قيم 0 لجميع المتغيرات الثلاثة لهذا الكائن من الفئة الرئيسية.

2. out2:

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

تعلم دورات هندسة البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

يعد فهم مفهوم البرمجة للحمل الزائد للمنشئ في c ++ مهارة مهمة للمبرمجين ومصممي النظام. يمكن للطلاب في دفق الكمبيوتر والبرامج المتعلقة بالحوسبة تعزيز مهاراتهم ومصداقيتهم التقنية ، مثل مفاهيم OOP وتحسين الكود. تشجع الموارد وقاعدة المعرفة في بوابة upGrad هؤلاء المهنيين على اكتساب الخبرة البرمجية للمنافسة في سوق الصناعة. بالإضافة إلى ذلك ، ستحصل على فرصة لاستكشاف الشبكات المهنية وتطوير المهارات.

إذا كنت مهتمًا بمعرفة المزيد حول تطوير البرامج كاملة المكدس ، فتحقق من برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم و 9+ مشاريع و المهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

ما هي المنشئات في البرمجة؟

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

ما هو التحميل الزائد للمنشئ؟

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

كيفية تهيئة الكائنات باستخدام المنشئات؟

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