וובמאסטר - תיכנות ובניית אתרים

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

ליאור זמיר ,‏ ג'ון ברייס הדרכה‏ ‏/‏ 8 פברואר, 2011
F+
F-

בנאי (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 ומרצה בכיר בג'ון-ברייס מכללת היי-טק מקבוצת Matrix, בקורסים לפיתוח ותיכנות באמצעות Microsoft .NET, מולטימדיה ועיצוב ובניית אתרי אינטרנט ואינטראנט. פיתוח הדרכה ומתן ייעוץ טכנולוגי.

http://blogs.microsoft.co.il/blogs/liorzamir
תגיות: C#‏  /  Visual Studio‏  /  OOP‏  

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

תגובות למאמר



עוד במדריך

תגיות פופולאריות

מערכות תוכן

וובמאסטר © כל הזכויות שמורות