הדרכת בונה Java

Java Constructor Tutorial



כלי הקונסטרוקטור הוא שיטה חשובה ושימושית ביותר המשמשת לתכנות מונחה עצמים. אין חובה להכריז על קונסטרוקטור לכל מחלקה, וכלי זה משמש בעיקר לאתחול אובייקט המחלקה בזמן יצירת האובייקטים. הבונה אינו פועל כמו שיטות רגילות אחרות. במקום זאת, כלי הקונסטרוקטור נקרא אוטומטית כאשר אובייקט מוכרז, והוא מקצה את מיקום הזיכרון לאובייקט. מדריך זה יראה לכם כיצד ניתן ליישם סוגים שונים של קונסטרוקטורים המוגדרים על ידי משתמשים ולהשתמש בהם בתכנות בכיתה Java.

תכונות של קונסטרוקטור

  1. שם הבנאי חייב להיות זהה לשם המחלקה.
  2. סוג ההחזרה בטל.
  3. הבונה אינו יכול להיות סטטי, מופשט וסופי.

סוגי קונסטרוקטור







  1. בְּרִירַת מֶחדָל
  2. ללא פרמטרים
  3. פרמטרי

1. בונה ברירת מחדל

בונה ברירת המחדל נוצר על ידי מהדר הג'אווה כאשר המקודד אינו מצהיר על קונסטרוקטור כלשהו למחלקה ובונה זה אינו מכיל כל טיעון. קובץ ה- Java אינו מכיל קוד לבנאי ברירת המחדל. קוד הבונה המוגדר כברירת מחדל נוצר בזמן הידור קוד Java והוא מאוחסן ב- .מעמד קוֹבֶץ.



2. קונסטרוקטור ללא פרמטרים

כאשר בונה מוכרז ללא כל פרמטר או ארגומנט, הוא נקרא קונסטרוקטור ללא פרמטרים. בונה נטול פרמטרים פועל כמו בונה ברירת מחדל ובונה זה יכול להכיל הצהרות, או שהוא יכול להיות ריק.



3. קונסטרוקטור בונה

כאשר כל בנאי מוכרז עם פרמטר אחד או יותר, אז הוא נקרא קונסטרוקטור בעל פרמטרים. ערכי הפרמטרים של הקונסטרוקטור מועברים בזמן יצירת האובייקט.





דוגמא 1: יצירת קונסטרוקטור פחות פרמטר

הקוד הבא מראה כיצד להשתמש במבנה ללא פרמטרים. צוין קודם לכן כי שם שיטת הקונסטרוקטור יהיה זהה לשם המחלקה. כאן שם הכיתה הוא ' con1 , 'ולכן שם הבונה ללא פרמטרים הוא' con1 () . 'שני משתני כיתה,' שֵׁם 'ו-' גיל , 'מוכרזים כאן. בזמן הכרזת משתנה האובייקט ' obj , 'ייקרא הבונה ויודפס הודעה מסוימת. לאחר מכן, שני ערכים מוקצים במשתני המחלקה ומודפסים מאוחר יותר באמצעות 'אובג' לְהִתְנַגֵד.

פּוּמְבֵּי מעמדcon1{

// להכריז על משתנים
חוּט שֵׁם;
intגיל;

// קונסטרוקטור ללא פרמטרים
con1() {
מערכת .הַחוּצָה.println('קוראים לבנאי.');

// אתחל את המשתנים
שֵׁם= 'פחים רזה';
גיל= 30;
}

// שיטת main ()
פּוּמְבֵּי סטָטִי בָּטֵלרָאשִׁי( חוּט []טוען) {

// צור אובייקט
con1 obj= חָדָשׁcon1();

// הדפס את הערכים של מאפייני האובייקט
מערכת .הַחוּצָה.הדפס('גיל' +obj.שֵׁם + 'הוא' +obj.גיל);
}
}

תְפוּקָה:



התמונה הבאה מציגה את פלט הקוד. הבונה נקרא בזמן יצירת האובייקט והמסר קוראים לבנאי מודפס. הערכים של ' שֵׁם 'ו-' גיל 'מוקצים בתוך הקונסטרוקטור. הערכים של משתנים אלה מודפסים מאוחר יותר.

דוגמה 2: צור בונה פרמטרי

הקוד הבא יחשב את השכר הכולל של עובד על בסיס השכר הבסיסי וידפיס את המידע האחר של אותו עובד לצד השכר המחושב. כאן מוכרזים שבעה משתני מחלקה. הבונה, ששמו ' con2 () , 'יש שלושה פרמטרים. שני הפרמטרים הראשונים יקבלו את ערכי המחרוזת ב- ' שֵׁם 'ו-' הודעה ', והפרמטר השלישי יקח את הערך המספרי ב-' בסיסי 'פרמטר. הערכים של פרמטרים אלה יועברו בזמן יצירת האובייקט. הבונה יאתחל את משתני המחלקה עם ערכים אלה ויחשב את הערכים האחרים על סמך הערך של ' בסיסי 'פרמטר. לאחר מכן יודפסו שמו, המשרה והמשכורת של העובד.

פּוּמְבֵּי מעמדcon2{

// הכריז על משתנים
חוּט שֵׁם;
חוּט הודעה;
intבסיסי;
לְהַכפִּילשכר דירה;
לְהַכפִּילרְפוּאִי;
לְהַכפִּילתַחְבּוּרָה;
לְהַכפִּילשכר;

// קונסטרוקטור בונה
con2( חוּט שֵׁם, חוּט הודעה,intבסיסי) {
זֶה.שֵׁם =שֵׁם;
זֶה.הודעה =הודעה;
זֶה.בסיסי =בסיסי;
זֶה.שכר דירה =בסיסי*0.3;
זֶה.רְפוּאִי =בסיסי*0.2;
זֶה.תַחְבּוּרָה =בסיסי*0.1;
שכר=בסיסי+שכר דירה+רְפוּאִי+תַחְבּוּרָה;
}

// שיטת main ()
פּוּמְבֵּי סטָטִי בָּטֵלרָאשִׁי( חוּט []טוען) {

// צור אובייקט
con2 obj= חָדָשׁcon2('מיר סביר','רואת חשבון',65000);

// הדפס את הערכים של מאפייני האובייקט
מערכת .הַחוּצָה.הדפס('שם העובד: ' +obj.שֵׁם + ' n' + 'הודעה: '+obj.הודעה +
' n' + 'משכורת: TK'+obj.שכר);
}
}

תְפוּקָה:

התמונה הבאה מציגה את פלט הקוד. כאן, שם העובד, תפקידו ומשכורתו הבסיסית ניתנים בהצהרת יצירת האובייקט. המשכורת, השם והתפקיד הכוללים מודפסים כאן.

דוגמה 3: צור שרשרת קונסטרוקטורים

חשוב לדעת על תכונת הירושה של תכנות מונחה עצמים כדי להבין את הרעיון של שרשרת קונסטרוקטורים. כאשר נוצרת מחלקה חדשה על ידי הורשת מחלקה אחרת, היא נקראת ירושה. במקרה זה, כל המאפיינים של מחלקת ההורים או הבסיס נגישים מהילד או ממעמד נגזר. כאשר נוצר אובייקט ממעמד הילד, הוא מתקשר אוטומטית לבנאי של מחלקת ההורים לפני שהוא קורא לבנאי שלו. ה ' סוּפֶּר() שיטה 'משמשת בשפות אחרות כדי לקרוא לבנאי האב, אך מהדר הג'אווה קורא לשיטה זו באופן אוטומטי. שימוש בקונסטרוקטורים בצורה זו נקרא שרשרת קונסטרוקטורים, ותהליך זה מוצג בדוגמה זו. כאן, שם כיתת ההורים הוא ' הוֹרֶה 'ושם כיתת הילדים הוא' con3 . 'יש שיטה נוספת בשם' לְשַׁלֵב() בכיתה הילד המשלבת את הערכים שהוקצו בבנאי ההורה והילד.

מעמדהוֹרֶה{

// הכריז על משתנה
חוּט strVal;

// בונה הורים
הוֹרֶה(){
מערכת .הַחוּצָה.println('קוראים לבנאי הורים');
strVal= 'אני אוהב ';
}
}

פּוּמְבֵּי מעמדcon3משתרעהוֹרֶה{

// הכריז על משתנה
חוּט childStrVal;

// בונה ילדים
con3(){
מערכת .הַחוּצָה.println('קוראים לבנאי ילדים');
childStrVal=strVal+ 'תכנות ג'אווה';
}

// שיטה נוספת לשילוב מחרוזות
חוּט לְשַׁלֵב()
{
לַחֲזוֹר זֶה.childStrVal;
}

// שיטת main ()
פּוּמְבֵּי סטָטִי בָּטֵלרָאשִׁי( חוּט []טוען) {

// צור אובייקט
con3 obj= חָדָשׁcon3();
// הדפס את הערכים של מאפייני האובייקט
מערכת .הַחוּצָה.הדפס(obj.לְשַׁלֵב());
}
}

תְפוּקָה:

התמונה הבאה מציגה את פלט הקוד. ההודעה הראשונה מודפסת מהבונה האב, ואילו ההודעה השנייה מודפסת מהבונה הצאצא. ההודעה האחרונה מודפסת על ידי קריאת ' לְשַׁלֵב() ' שיטה.

סיכום

הרעיון של הבונה והשימושים של בונים שונים מוסברים במדריך זה על ידי שימוש בדוגמאות קוד Java פשוטות למשתמשים מתחילים. יש לקוות, דוגמאות אלה עזרו לך להבין את היסודות של קונסטרוקטור ג'אווה.