שימוש בבני Java: מדריך הוראות קל לשימוש

click fraud protection

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

הערה: לדוגמה, עליך ליצור שני קבצים באותה תיקיה: אדם.jאווה מגדיר את כיתת האדם, ו PersonExample.java מכיל את השיטה העיקרית שיוצר אובייקטים של אדם.

שיטת הבנאי

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

 אדם בכיתה ציבורית {
מחרוזת פרטית שם פרטי;
שם פרטי מחרוזת פרטי;
כתובת מחרוזת פרטית;
שם משתמש מחרוזת פרטי;
// שיטת הבנאי
אדם ציבורי ()
{
}
}

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

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

instagram viewer

 אדם בכיתה ציבורית {
מחרוזת פרטית firstName = "";
private String lastName = "";
כתובת מחרוזת פרטית = "";
שם משתמש מחרוזת פרטי = "";
// שיטת הבנאי
אדם ציבורי ()
{
}
}

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

 אדם בכיתה ציבורית {
מחרוזת פרטית שם פרטי;
שם פרטי מחרוזת פרטי;
כתובת מחרוזת פרטית;
שם משתמש מחרוזת פרטי;
// שיטת הבנאי
אדם ציבורי (אדם מחרוזת שם משפחה, אדם מחרוזת שם משתמש, אדם מחרוזת כתובת, אדם מחרוזת שם משתמש)
{
firstName = personFirstName;
lastName = personLastName;
כתובת = אדם כתובת;
שם משתמש = שם משתמש;
}
// שיטה להצגת מצב האובייקט למסך
display void displayPersonDetails ()
{
System.out.println ("שם:" + שם פרטי + "" + שם משפחה);
System.out.println ("כתובת:" + כתובת);
System.out.println ("שם משתמש:" + שם משתמש);
}
}

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

קוראים לשיטת הבנאי

בשונה משיטות אחרות של אובייקט, יש לקרוא לשיטת הבנאי באמצעות מילת המפתח "החדשה":

 PersonExample בכיתה ציבורית
main static void main (מחרוזת [] טענות) {
אדם דייב = אדם חדש ("דייב", "דוידסון", "רחוב הראשי 12", "דדווידסון");
dave.displayPersonDetails ();
}
}

הנה מה שעשינו:

  1. כדי ליצור את המופע החדש של אובייקט האדם, אנו מגדירים תחילה משתנה מסוג אדם שיחזיק את האובייקט. בדוגמה זו קראנו לזה דייב.
  2. בצד השני של סימן השוויון אנו קוראים לשיטת הקונסטרוקטור בכיתת ה- Person שלנו ומעבירים לה ארבעה ערכי מחרוזת. שיטת הבנאי שלנו תיקח את ארבעת הערכים האלה ותגדיר את המצב הראשוני של אובייקט האדם להיות: firstName = "Dave", lastName = "Davidson", address = "12 Main St", username = "DDavidson".

שימו לב איך עברנו למחלקה הראשית של Java כדי לקרוא לאובייקט ה- Person. כשאתה עובד עם אובייקטים, תוכניות ישתרעו קבצי Java. מרובים. וודא ששמרת אותם באותה תיקיה. כדי להרכיב ולהפעיל את התוכנית, פשוט ערוך והפעל את ה- Java מעמד ראשי קובץ (כלומר, PersonExample.java). המהדר של Java הוא חכם מספיק כדי להבין שאתה רוצה לקמפל את ה- אדם.jאווה הקובץ גם מכיוון שהוא יכול לראות שהשתמשת בו בכיתה PersonExample.

שמות של פרמטרים

מהדר ה- Java מתבלבל אם לפרמטרים של שיטת הבנאי יש אותם שמות כמו השדות הפרטיים. בדוגמה זו תוכלו לראות שהבדלנו ביניהם על ידי קידומת הפרמטרים עם המילה "אדם". כדאי להזכיר שיש דרך אחרת. אנו יכולים להשתמש במילת המפתח "זו" במקום זאת:

 // שיטת הבנאי
אדם ציבורי (מחרוזת שם פרטי, מחרוזת שם משפחה, כתובת מחרוזת, שם משתמש מחרוזת)
{
this.firstName = firstName;
this.lastName = שם משפחה;
this.address = כתובת;
this.username = שם משתמש;
}

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

יותר משיטת בנאי אחת

בעת תכנון מחלקות האובייקטים שלך אינך מוגבל רק בשיטת בנאי אחת. אתה יכול להחליט שיש כמה דרכים שניתן לאתחל אובייקט. האילוץ היחיד בשימוש ביותר משיטת בנאי אחת הוא שעל הפרמטרים להיות שונים.

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

 אדם בכיתה ציבורית {
מחרוזת פרטית שם פרטי;
שם פרטי מחרוזת פרטי;
כתובת מחרוזת פרטית;
שם משתמש מחרוזת פרטי;
// שיטת הבנאי
אדם ציבורי (מחרוזת שם פרטי, מחרוזת שם משפחה, כתובת מחרוזת, שם משתמש מחרוזת)
{
this.firstName = firstName;
this.lastName = שם משפחה;
this.address = כתובת;
this.username = שם משתמש;
}
// שיטת הבנאי החדשה
אדם ציבורי (מחרוזת שם פרטי, מחרוזת שם משפחה, כתובת מחרוזת)
{
this.firstName = firstName;
this.lastName = שם משפחה;
this.address = כתובת;
this.usname = "";
}
// שיטה להצגת מצב האובייקט למסך
display void displayPersonDetails ()
{
System.out.println ("שם:" + שם פרטי + "" + שם משפחה);
System.out.println ("כתובת:" + כתובת);
System.out.println ("שם משתמש:" + שם משתמש);
}
}

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

כעת אנו יכולים ליצור אובייקטים של אדם בשתי דרכים שונות:

 PersonExample בכיתה ציבורית
main static void main (מחרוזת [] טענות) {
אדם דייב = אדם חדש ("דייב", "דוידסון", "רחוב הראשי 12", "דדווידסון");
אדם ג'ים = אדם חדש ("ג'ים", "דוידסון", "דרך המלכים 15");
dave.displayPersonDetails ();
jim.displayPersonDetails ();
}
}

אדם דייב ייווצרו עם שם פרטי, שם משפחה, כתובת ושם משתמש. אדם ג'ים, עם זאת, לא יקבל שם משתמש, כלומר שם המשתמש יהיה המחרוזת הריקה: username = "".

סיכום מהיר מחדש

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

  • חייב להיות בעל שם זהה לזה של הכיתה
  • אל תחזיר ערך
  • לא יכול להיות אף אחד, או פרמטרים רבים
  • יכול למספר יותר מאחד כל עוד לכל שיטת בנאי יש קבוצה שונה של פרמטרים
  • יכול לקבל שמות פרמטרים זהה לשדות הפרטיים כל עוד משתמשים במילת המפתח "זה"
  • נקראים באמצעות מילת המפתח "החדשה"
instagram story viewer