تعرف على المُنشئ ذي المعاملات في Java مع أمثلة



تتناول هذه المقالة كيف يمكننا استخدام المُنشئ ذي المعلمات في جافا مع أمثلة مختلفة والاختلاف بين المُنشئ الافتراضي والمُنشئ ذي المعلمات.

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

كيفية التحويل إلى ثنائي في بيثون

ما هو المنشئ؟

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





فئة عامة Edureka {Edureka () {System.out.println ('مُنشئ مصنوع')}}

تتضمن بعض ميزات المُنشئ ما يلي:

  1. لها نفس اسم اسم الفئة
  2. ليس لديها نوع عودة

أنواع المنشئ

  1. المُنشئ الافتراضي
  2. منشئ ذو معلمات

أنواع المنشئات ذات المعلمات في java-edureka



المُنشئ الافتراضي مقابل المُنشئ ذو المعلمات

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

مثال يوضح المُنشئ الافتراضي في Java:

الطبقة العامة Edureka {Edureka () {System.out.println ('I am a constructor')} public static void main (String args []) {Edureka obj = new Edureka ()}}
 انتاج: أنا منشئ

منشئ ذو معلمات - يسمى المُنشئ المُنشئ المعلمة Parameterized Constructor عندما يقبل عددًا محددًا من المعلمات. لتهيئة بيانات أعضاء فئة بقيم مميزة.



مثال يوضح المُنشئ ذو المعاملات:

الطبقة العامة Edureka {String studentName int studentAge // constructor Edureka (String name، int age) {studentName = name studentAge = age} void display () {System.out.println (studentName + '' + studentAge)} العامة الثابتة باطلة الرئيسية ( سلاسل السلسلة []) {Edureka myObj = new Edureka ('Manan'، 19) myObj.display ()}}
 انتاج: مانان 19

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

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

تمرير الكائنات كوسيطات

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

مثال يوضح تمرير الكائنات كوسائط:

الفصل العام Edureka {String studentName Edureka (String name) {studentName = name} Edureka (Edureka myObj) {this.studentName = myObj.studentName} عرض باطل () {System.out.println ('Student:' + studentName)} عام static void main (String args []) {Edureka obj1 = new Edureka ('Manan') / * تمرير الكائن كوسيطة للمُنشئ * هذا سيستدعي مُنشئ النسخة * / Edureka obj2 = نظام Edureka الجديد (obj1). out.println ('طباعة obj1 -') obj1.display () System.out.println ('طباعة obj2 -') obj2.display ()}}
 انتاج: 
كائن الطباعة 1 -منانكائن الطباعة 2 -منان

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

استدعاء المُنشئ الافتراضي من مُنشئ ذي معلمات في Java

هناك حاجة أحيانًا لاستدعاء المُنشئ الافتراضي من مُنشئ آخر من نفس الفئة. هذه الكلمة يفي بهذا الغرض.

مثال يوضح استدعاء مُنشئ افتراضي من مُنشئ معلمات:

الفصل العام Edureka {String studentName int studentAge String عضو Edureka () {member = 'YES'} Edureka (String name، int age) {this () / * يُستخدم هذا لاستدعاء المُنشئ الافتراضي * من المُنشئ ذي المعلمات * / studentName = name studentAge = age} عرض باطل () {System.out.println (studentName + '-' + studentAge + '-' + 'Member' + member)} main static void main (String args []) {Edureka obj = new Edureka ('Manan'، 21) obj.display ()}}

انتاج: منان - 21 - عضو YES

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

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

يدعم المُنشئ طريقة التحميل الزائد تمامًا مثل أي فئة أخرى. بناءً على أنواع مختلفة أو عدد من الوسيطات ، سيتم استدعاء مُنشئين مختلفين.

مثال يوضح التحميل الزائد للمنشئ:

مستطيل من الفئة العامة {int length int widthth String color // constructor 1 Rectangle (int l، int b) {length = l width = b color = 'Green'} // constructor 2 Rectangle (int l، int b، String c) {length = l width = b color = c} عرض باطل () {System.out.println ('Length-' + length + 'Breadth-' + width + 'Color' + color)} فراغ ثابت عام رئيسي (سلاسل سلسلة [ ]) {Rectangle obj1 = New Rectangle (2،4) Rectangle obj2 = new Rectangle (2،4، 'Green') obj1.display () obj2.display ()}}
 انتاج: الطول - 2 عرض - 4 ألوان - أخضرالطول - 2 عرض - 4 ألوان - أحمر

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

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