מדריך C# מונחה עצמים

מדריך C# – תכנות מונחה עצמים: שימוש ב- Constructors

‏ • John Bryce

בנאי (Constructor. נקרא גם בקיצור c'tor) הוא למעשה פונקציה לבנייה התחלתית של האובייקט. הוא מופעל אוטומטית בעת יצירת מופע מהמחלקה (אובייקט) באמצעות הפקודה new:

    Person p = new Person();

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

מספר דברים שצריך לדעת לגבי בנאי:

  • שם הבנאי יהיה זהה לשם המחלקה המכילה אותו (case sensitive).
  • בנאי לא מחזיר ערך (גם לא void)
  • בנאי יכול לקבל פרמטרים
  • ניתן להעמיס (overload) בנאי (כך שלכל מחלקה יכולים להיות מספר בנאים. לכל הבנאים יהיה שם זהה, ההבדל יהיה במספר הפרמטרים שהבנאי מקבל ובסוגם).
  • ניתן לקרוא מבנאי אחד לאחר
  • בקריאה מבנאי אחד לאחר חובה לבצע זאת בשורה הראשונה של הבנאי
  • אם לא נכתוב אף בנאי במחלקה יהיה בנאי default (ברירת מחדל) שלא מקבל פרמטרים ולא מבצע שום פעולה.
  • מספיק שנכתוב בנאי אחד במחלקה (לא משנה עם איזה פרמטרים) אנו מוותרים על הבנאי ברירת מחדל.

דוגמא ליצירת בנאי שמקבל פרמטרים:

    public Person(string firstName, string lastName)
    {
      FirstName = firstName;
      LastName = lastName;
    }

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

הפעלת הבנאי שמקבל פרמטרים:

      Person p = new Person("Lior", "Zamir");

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

   public Person(string firstName, string lastName, int id)
       : this(firstName, lastName)
   {
     Id = id;
   }

במקרה זה, הבנאי מקבל שלושה פרמטרים, מהם הוא שולח שניים לטיפול בבנאי הראשון, כך שנותר לו לטפל רק בפרמטר השלישי (id).

תגיות: , ,

ליאור זמיר

כיום אני ה- Webmaster של תוכנית החדשנות של HPE Software.לפני כן, הייתי מנהל תחום Webmaster ומרצה בכיר בג'ון-ברייס (במשך 9 שנים) בקורסים לפיתוח ותיכנות באמצעות Microsoft .NET, מולטימדיה, בניית אתרי אינטרנט ואינטראנט. פיתוח הדרכה ומתן ייעוץ טכנולוגי.

תגובות בפייסבוק