طريقة منشئ جافا

طريقة منشئ جافا

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

ملحوظة: تحتاج إلى إنشاء ملفين في نفس المجلد لهذا المثال: Person.java يحدد فئة الشخص ، و PersonExample.java يحتوي على الطريقة الرئيسية التي تنشئ كائنات الشخص.

طريقة المنشئ

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

شخص من الطبقة العامة
سلسلة الاسم الأول الخاصة ؛
سلسلة اسم العائلة الخاصة ؛
عنوان السلسلة الخاص
اسم مستخدم السلسلة الخاص ؛
// طريقة المنشئ
شخص عام ()
{
}
}

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

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

شخص من الطبقة العامة
سلسلة خاصة firstName = ""؛
سلسلة خاصة lastName = ""؛
عنوان السلسلة الخاص = ""؛
اسم مستخدم السلسلة الخاص = ""؛
// طريقة المنشئ
شخص عام ()
{
}
}

عادة ، للتأكد من أن طريقة المنشئ مفيدة ، سنقوم بتصميمها لتوقع المعلمات. يمكن استخدام القيم التي تم تمريرها عبر هذه المعلمات لتعيين قيم الحقول الخاصة:

شخص من الطبقة العامة
سلسلة الاسم الأول الخاصة ؛
سلسلة اسم العائلة الخاصة ؛
عنوان السلسلة الخاص
اسم مستخدم السلسلة الخاص ؛
// طريقة المنشئ
شخص عام (سلسلة شخصالاسم الأول ، سلسلة شخصالاسم الأول ، سلسلة شخصعنوان ، سلسلة شخصاسم المستخدم)
{
الاسم الأول = personFirstName ؛
اسم العائلة = personLastName ؛
العنوان = personAddress ؛
اسم المستخدم = personUsername؛
}
// طريقة لعرض حالة الكائن على الشاشة
عرض الفراغ العامالبيانات الشخصية ()
{
System.out.println ("الاسم:" + الاسم الأول + "" + اسم العائلة) ؛
System.out.println ("العنوان:" + العنوان) ؛
System.out.println ("اسم المستخدم:" + اسم المستخدم) ؛
}
}

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

استدعاء طريقة المنشئ

على عكس الأساليب الأخرى لكائن ما ، يجب استدعاء طريقة المُنشئ باستخدام الكلمة الأساسية "الجديدة":

الفئة العامة PersonExample {
ثابت الفراغ الرئيسي العام (سلسلة الحجج) {
شخص ديف = شخص جديد ("ديف" ، "ديفيدسون" ، "12 شارع رئيسي" ، "DDavidson") ؛
dave.displayPersonDetails ()؛
}
}

إليك ما فعلناه:

  1. لإنشاء مثيل جديد لكائن الشخص ، نقوم أولاً بتعريف متغير نوع الشخص الذي سيحتوي الكائن. في هذا المثال ، أطلقنا عليه ديف.
  2. على الجانب الآخر من علامة التساوي ، نسمي طريقة المُنشئ لفئة الشخص الخاصة بنا ونمررها بأربعة قيم سلسلة. ستأخذ طريقة المُنشئ الخاصة بنا تلك القيم الأربع وتعيين الحالة الأولية لكائن الشخص لتكون: firstName = "Dave"، lastName = "Davidson"، address = "12 Main St"، اسم المستخدم = "DDavidson".

لاحظ كيف تحولنا إلى فئة Java الرئيسية لاستدعاء كائن الشخص. عند العمل مع الكائنات ، ستغطي البرامج ملفات .java متعددة. تأكد من حفظها في نفس المجلد. لتجميع البرنامج وتشغيله ، ما عليك سوى تجميع وتشغيل ملف Java من الفئة الرئيسية (أي ، PersonExample.java). برنامج التحويل البرمجي لـ Java ذكي بما يكفي لإدراك أنك تريد ترجمة Person.java الملف أيضًا لأنه يمكن أن يرى أنك استخدمته في الفئة PersonExample.

تسمية المعلمات

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

// طريقة المنشئ
شخص عام (اسم السلسلة الأول ، سلسلة اسم العائلة ، عنوان السلسلة ، اسم مستخدم السلسلة)
{
this.firstName = firstName؛
this.lastName = lastName؛
this.address = العنوان ؛
this.username = اسم المستخدم ؛
}

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

أكثر من طريقة واحدة منشئ

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

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

شخص من الطبقة العامة
سلسلة الاسم الأول الخاصة ؛
سلسلة اسم العائلة الخاصة ؛
عنوان السلسلة الخاص
اسم مستخدم السلسلة الخاص ؛
// طريقة المنشئ
شخص عام (اسم السلسلة الأول ، سلسلة اسم العائلة ، عنوان السلسلة ، اسم مستخدم السلسلة)
{
this.firstName = firstName؛
this.lastName = lastName؛
this.address = العنوان ؛
this.username = اسم المستخدم ؛
}
// طريقة المنشئ الجديد
شخص عام (اسم السلسلة الأول ، سلسلة اسم العائلة ، عنوان السلسلة)
{
this.firstName = firstName؛
this.lastName = lastName؛
this.address = العنوان ؛
this.username = ""؛
}
// طريقة لعرض حالة الكائن على الشاشة
عرض الفراغ العامالبيانات الشخصية ()
{
System.out.println ("الاسم:" + الاسم الأول + "" + اسم العائلة) ؛
System.out.println ("العنوان:" + العنوان) ؛
System.out.println ("اسم المستخدم:" + اسم المستخدم) ؛
}
}

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

يمكننا الآن إنشاء كائنات شخصية بطريقتين مختلفتين:

الفئة العامة PersonExample {
ثابت الفراغ الرئيسي العام (سلسلة الحجج) {
شخص ديف = شخص جديد ("ديف" ، "ديفيدسون" ، "12 شارع رئيسي" ، "DDavidson") ؛
jim person = new person ("Jim"، "Davidson"، "15 Kings Road")؛
dave.displayPersonDetails ()؛
jim.displayPersonDetails ()؛
}
}

شخص ديف سيتم إنشاؤه باستخدام الاسم الأول واسم العائلة والعنوان واسم المستخدم. شخص جيم، ومع ذلك ، لن تحصل على اسم مستخدم ، أي أن اسم المستخدم سيكون السلسلة الفارغة: username = "".

خلاصة سريعة

يتم استدعاء أساليب المُنشئ فقط عند إنشاء مثيل جديد لكائن. هم:

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

شاهد الفيديو: كيفية إضافة ملف أو مجلد إلى مشروع جافا في برنامج netBeans