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

C# היא שפת תכנות מרובת פרדיגמות פופולרית, המשתמשת בפרדיגמה מונחה עצמים. במאמר זה תלמדו כיצד ליצור ולהשתמש בשיעורים ב-C#.

יצירת הצהרת כיתה

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

  • משנה גישה.
  • ה מעמד מילת מפתח.
  • השם שברצונך להקצות לכיתה.
  • זוג פלטות מתולתלות פתוחות וסגורות (שייקפו את התכונות, הבנאים והשיטות של המחלקה).
פְּנִימִי מעמדצרכן{ }

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

  • פּוּמְבֵּי: כל מחלקה (ללא קשר להרכבה שלה) יכולה לגשת למחלקה הציבורית ולחברים הציבוריים שלה (מאפיינים, בנאים ושיטות).
  • instagram viewer
  • פְּרָטִי: רק הכיתה הפרטית והחברים בה יכולים לגשת אליה.
  • מוּגָן: רק כיתות נגזרות (כיתות ילדים ונכדים) יכולות לגשת לכיתה המוגנת.
  • פְּנִימִי: רק מחלקות באותו הרכבה יכולות לגשת למחלקה הפנימית.
  • מוגן פנימי: רק מחלקות באותו הרכבה או מחלקה נגזרת ממכלול אחר יכולות לגשת למחלקה הפנימית המוגנת.
  • מוגן פרטי: רק מחלקות נגזרות באותה אסיפה יכולות לגשת למחלקה המוגנת הפרטית.

הצהרה וגישה לתכונות

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

C# מאפשר לך להצהיר על התכונות, המוטטורים והאבזרים שלך באופן הבא:

פְּנִימִי מעמדצרכן
{
// תכונות
פְּרָטִיint מספר תעודת זהות;
פְּרָטִי מחרוזת שם;
פְּרָטִילְהַכפִּיל סך הכל;

// קובעים
פּוּמְבֵּיבָּטֵלSetIdNumber(int מספר תעודת זהות){ זֶה.IdNumber = IdNumber; }
פּוּמְבֵּיבָּטֵלSetName(שם מחרוזת){ זֶה.Name = שם; }
פּוּמְבֵּיבָּטֵלSetTotal(לְהַכפִּיל סך הכל){ זֶה.סה"כ = סה"כ; }

// קבלנים
פּוּמְבֵּיintGetIdNumber(){ לַחֲזוֹרזֶה.מספר תעודת זהות; }
פּוּמְבֵּי חוּט GetName(){ לַחֲזוֹרזֶה.שֵׁם; }
פּוּמְבֵּילְהַכפִּילGetTotal(){ לַחֲזוֹרזֶה.סך הכל; }
}

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

פְּנִימִי מעמדצרכן
{
public int IDNumber { לקבל; מַעֲרֶכֶת; }
שם מחרוזת ציבורית { לקבל; מַעֲרֶכֶת; }
כפול ציבורי סה"כ { לקבל; מַעֲרֶכֶת; }
}

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

מכריזים בנאים

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

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

ל-C# יש מונח גג לבוני ברירת המחדל והראשוניים לעיל - בנאי מופע. לשפת התכנות הזו יש גם שני בנאים נוספים (פרטי וסטטי). מאמר זה מתמקד בשלושת הבנאים המסורתיים.

ברירת המחדל של קונסטרוקטור

// בנאי ברירת מחדל
פּוּמְבֵּי צרכן()
{
IdNumber = 0;
שם = "לא ידוע";
סך הכל = 0;
}

קונסטרוקטור ראשי

// בנאי ראשי
פּוּמְבֵּיצרכן(int IdNumber, מחרוזת שם, מחרוזת CustomerType, לְהַכפִּיל סך הכל)
{
זֶה.IdNumber = IdNumber;
זֶה.Name = שם;
זֶה.סה"כ = סה"כ;
}

העתק קונסטרוקטור

// עותק בנאי
פּוּמְבֵּי לקוח (לקוח קודם לקוח)
{
זֶה.IdNumber = לקוח הקודם. מספר תעודת זהות;
זֶה.Name = לקוח הקודם. שֵׁם;
זֶה.סה"כ = הקודם לקוח. סך הכל;
}

יצירת שיטות

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

// שיטה
פּוּמְבֵּי מחרוזת CustomerDetail()
{
לַחֲזוֹר " תְעוּדַת זֶהוּת: " + IDNumber + " שֵׁם: " + שם + " סך הכל: " + סך הכל;
}

הקוד למעלה מחזיר ייצוג מחרוזת של אובייקט הלקוח.

יצירת אובייקטים

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

לקוח ג'ון = חָדָשׁ צרכן();

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

לְנַחֵם.WriteLine(ג'ון.שֵׁם);

ביצוע הקוד שלמעלה מדפיס את הדברים הבאים במסוף:

לא ידוע

אתה יכול גם להשתמש ב ג'ון משתנה כדי לגשת לכל מתודה במחלקת הלקוח.

לְנַחֵם.WriteLine(ג'ון.Customer Detail());

ביצוע שורת הקוד למעלה מדפיס את הפלט הבא במסוף:

מזהה: 0 שם: לא ידוע סה"כ: 0

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

לקוח ג'ון = לקוח חדש (1001, "פלוני אלמוני", 250.20);
לְנַחֵם.WriteLine(ג'ון.Customer Detail());

ביצוע הקוד שלמעלה מדפיס את הפלט הבא במסוף:

תְעוּדַת זֶהוּת: 1001 שֵׁם: ג'וןצְבִיָהסך הכל: 250.2

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

לקוח ג'וני = חָדָשׁ לקוח (ג'ון);
לְנַחֵם.WriteLine(ג'וני.Customer Detail());

ביצוע הקוד שלמעלה מדפיס את הפלט הבא במסוף:

תְעוּדַת זֶהוּת: 1001 שֵׁם: ג'וןצְבִיָהסך הכל: 250.2

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

לקוח ג'ון = חָדָשׁ צרכן();
לקוח ג'וני = חָדָשׁ לקוח (ג'ון);
לְנַחֵם.WriteLine(ג'וני.Customer Detail());

ביצוע הקוד שלמעלה מדפיס את הפלט הבא במסוף:

מזהה: 0 שם: לא ידוע סה"כ: 0

עכשיו אתה יכול ליצור ולהשתמש בשיעורי C#

אתה יכול להשתמש בפרדיגמה מונחה עצמים ב-C# כדי להגדיר מחלקות וליצור מהן אובייקטים. אתה יכול ליצור שיטות עבור כל מחלקה שיכולות לפעול על פי תכונות האובייקטים שלה.

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