أفضل طريقة لتنفيذ التحميل الزائد للمنشئ في Java؟



ستعرفك هذه المقالة على المُنشئ الزائد في Java. سيتبع الشرح عرض توضيحي برنامجي.

أخذ ظهور Java عالم البرمجة بعاصفة والسبب الرئيسي لذلك هو عدد الميزات التي جلبها. في هذه المقالة سنناقش التحميل الزائد للمنشئ في . ستتم مناقشة المؤشرات التالية في هذه المقالة ،

فلنبدأ إذن ،





منشئ التحميل الزائد في جافا

ما هو المنشئ؟

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

فئة __init__ بيثون

مثال



طالب فئة عامة {// لا يوجد مُنشئ خاص اسم سلسلة خاص int عمر خاص Std // getters and واضعين عرض باطل عام () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// لاستخدام طريقة عرض فئة الطالب ، أنشئ كائن Student Student = new Student () // لأننا لم نحدد أي مُنشئ يقوم المترجم بإنشاء المُنشئ الافتراضي. لذلك هذا student.display ()}}

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

هذا يقودنا إلى التالي من هذه المقالة فيمنشئ التحميل الزائد في جافا.

الحاجة إلى بنائين آخرين

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



طالب الفصل العام {// سمات اسم السلسلة int age String std // المُنشئ العام الطالب (اسم السلسلة) {// المُنشئ 1 this.name = name} الطالب العام (اسم السلسلة ، السلسلة std) {// المُنشئ 2 this.name = name this.std = std} public Student (String name، String std، int age) {// Constructor 3 this.name = name this.std = std this.age = age} عرض الفراغ العام () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} main static void main (String args []) {Student stu1 = new Student ('ABC') stu1 .display () Student stu2 = طالب جديد ('DEF'، '5-C') stu2.display () Student stu3 = طالب جديد ('GHI'، '6-C'، 12) stu3.display ()}}

هذا يقودنا إلى التالي من هذه المقالة فيمنشئ التحميل الزائد في جافا.

هذا () المرجع

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

مثال

public Student () {} // Constructor 4 public Student (String name، String std، int age) {// Constructor 3 this () // سيستدعي المنشئ الافتراضي. * إذا لم تكن العبارة الأولى للمُنشئ ، فسيحدث الخطأ * this.name = name this.std = std this.age = age

ملحوظة

  • استدعاء المُنشئ التكراري غير صالح في جافا
  • إذا حددنا أي مُنشئ ذي معلمات ، فلن يقوم المترجم بإنشاء مُنشئ افتراضي. والعكس صحيح إذا لم نحدد أي مُنشئ ، فسيقوم المترجم بإنشاء المُنشئ الافتراضي (المعروف أيضًا باسم مُنشئ no-arg) افتراضيًا أثناء التجميع
  • يجب أن يكون استدعاء المُنشئ أول بيان للمُنشئ في Java

وهكذا وصلنا إلى نهاية هذه المقالة حول 'التحميل الزائد للمنشئ في Java'. إذا كنت ترغب في معرفة المزيد ، تحقق من بواسطة Edureka ، شركة تعليمية موثوقة عبر الإنترنت. تم تصميم دورة تدريب وإصدار شهادات Java J2EE و SOA من Edureka لتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذه المدونة وسنعاود الاتصال بك في أقرب وقت ممكن.