מדריך 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, מולטימדיה, בניית אתרי אינטרנט ואינטראנט. פיתוח הדרכה ומתן ייעוץ טכנולוגי.

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

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!