برنامج Java Constructor التعليمي

Java Constructor Tutorial



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

ميزات المُنشئ

  1. يجب أن يكون اسم المُنشئ هو نفسه اسم الفئة.
  2. نوع الإرجاع باطل.
  3. لا يمكن أن يكون المنشئ ثابتًا أو مجردًا أو نهائيًا.

أنواع المنشئ







  1. تقصير
  2. معلمة أقل
  3. معلمة

1. المُنشئ الافتراضي

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



2. مُنشئ بدون معلمات

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



3. منشئ ذو معلمات

عندما يتم التصريح عن أي مُنشئ بمعامل واحد أو أكثر ، فإنه يُطلق عليه مُنشئ معلمات. يتم تمرير قيم المعلمات للمنشئ في وقت إنشاء الكائن.





مثال 1: إنشاء مُنشئ بدون معلمات

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

عام صف دراسييخدع 1{

// أعلن عن المتغيرات
سلسلة اسم؛
intسن؛

// مُنشئ بدون معلمات
يخدع 1() {
نظام .خارج.println('منشئ يسمى.')؛

// تهيئة المتغيرات
اسم= فهيم رضا؛
سن= 30؛
}

// طريقة () الرئيسية
عام ثابتة فارغالأساسية( سلسلة []أرجس) {

// إنشاء كائن
con1 obj= الجديديخدع 1()؛

// طباعة قيم خصائص الكائن
نظام .خارج.مطبعة('عمر ال ' +الهدف.اسم + ' يكون ' +الهدف.سن)؛
}
}

انتاج:



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

مثال 2: إنشاء منشئ ذي معلمات

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

عام صف دراسييخدع 2{

// أعلن المتغيرات
سلسلة اسم؛
سلسلة بريد؛
intأساسي؛
مزدوجإيجار المنزل؛
مزدوجطبي؛
مزدوجالمواصلات؛
مزدوجمرتب؛

// منشئ ذو معلمات
يخدع 2( سلسلة اسم، سلسلة بريد،intأساسي) {
هذه.اسم =اسم؛
هذه.بريد =بريد؛
هذه.أساسي =أساسي؛
هذه.إيجار المنزل =أساسي*0.3؛
هذه.طبي =أساسي*0.2؛
هذه.المواصلات =أساسي*0.1؛
مرتب=أساسي+إيجار المنزل+طبي+المواصلات؛
}

// طريقة () الرئيسية
عام ثابتة فارغالأساسية( سلسلة []أرجس) {

// إنشاء كائن
con2 obj= الجديديخدع 2('مير صابر'و'محاسب'و65000)؛

// طباعة قيم خصائص الكائن
نظام .خارج.مطبعة('اسم الموظف: ' +الهدف.اسم + 'ن' + 'بريد: '+الهدف.بريد +
'ن' + الراتب: TK+الهدف.مرتب)؛
}
}

انتاج:

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

مثال 3: إنشاء تسلسل المنشئ

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

صف دراسيالأبوين{

// أعلن متغير
سلسلة سترفال؛

// المنشئ الأصل
الأبوين(){
نظام .خارج.println('تم استدعاء المنشئ الأصل')؛
سترفال= 'انا يعجبني '؛
}
}

عام صف دراسيcon3يمتدالأبوين{

// أعلن متغير
سلسلة طفل؛

// منشئ الطفل
con3(){
نظام .خارج.println('منشئ الطفل يسمى')؛
طفل=سترفال+ 'برمجة جافا'؛
}

// طريقة أخرى للجمع بين السلاسل
سلسلة يجمع()
{
إرجاع هذه.طفل؛
}

// طريقة () الرئيسية
عام ثابتة فارغالأساسية( سلسلة []أرجس) {

// إنشاء كائن
con3 obj= الجديدcon3()؛
// طباعة قيم خصائص الكائن
نظام .خارج.مطبعة(الهدف.يجمع())؛
}
}

انتاج:

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

استنتاج

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