מבוא למחלקות ולאובייקטים
חלק מהיחידה תכנות מונחה עצמים במסלול ה-C# של Coddy. שיעור 3 מתוך 70.
מחלקה היא תבנית ליצירת אובייקטים. אובייקט הוא מופע של מחלקה שמכיל נתונים והתנהגות.
הגדירו מחלקה פשוטה עם מאפיינים
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}הוסף בנאי כדי לאתחל את האובייקט
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}הוסף מתודה להגדרת התנהגות
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
public string Bark()
{
return $"{Name} says Woof!";
}
}צור אובייקט (מופע) והשתמש בו
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");פלט:
Buddy says Woof!
Age: 3מילת המפתח new יוצרת מופע של המחלקה באמצעות קריאה לבנאי. אפשר ליצור כמה אובייקטים מאותה מחלקה, כל אחד עם נתונים שונים.
אתגר
קלהשלם את המחלקה Car על ידי הוספת בנאי ומתודת Drive(). לאחר מכן צור אובייקט Car בקובץ Program.cs והשתמש בו.
המתודה Drive() צריכה להחזיר: "The {Brand} is driving!"
נסו בעצמכם
using System;
class Program
{
static void Main()
{
string brand = Console.ReadLine();
int year = int.Parse(Console.ReadLine());
// TODO: צרו אובייקט Car עם ערכי הקלט
// TODO: הדפיסו "Car: {brand} ({year})"
// TODO: קראו למתודה Drive() והדפיסו את התוצאה
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות מונחה עצמים
1יסודות התכנות מונחה העצמים
קבצים חיצונייםמרחבי שמות והנחיותמבוא למחלקות ולאובייקטיםמילת המפתח 'this'מתודות ופרמטריםשדות לעומת מאפייניםבנאיםאתחול אובייקטיםסיכום – מחשבון פשוט4ירושה
תחביר ירושה בסיסית (:)מילת המפתח 'base'מילות המפתח Virtual ו-Overrideמחלקות Sealedמחלקת הבסיס 'object'סיכום – היררכיית עובדים7תכונות מתקדמות
העמסת אופרטוריםאינדקסרים (this[])דריסת ToString()מתודות הרחבהסיכום – רשימה מותאמת אישית2מאפיינים וחברים סטטיים
מאפיינים במימוש אוטומטימאפיינים לקריאה בלבד ולכתיבה בלבדשדות ומתודות סטטייםמחלקות סטטיותחברים עם גוף ביטוי5פולימורפיזם וממשקים
פולימורפיזם בזמן קומפילציה לעומת בזמן ריצהממשק לעומת מחלקה מופשטתממשקים מרוביםממשקים מפורשיםהמרה כלפי מעלה והמרה כלפי מטהחזרה: מחשבון צורות8מושגים מתקדמים בתכנות מונחה עצמים
קומפוזיציה במקום ירושהGenerics (מחלקות ומתודות)נציגים ואירועיםמאפיינים ורפלקציהIDisposable והצהרת usingיסודות הזרקת תלויותתרגלו בעצמכם: קומפיילר C# אונליין