יצירת שיטות ממשק
כמפתח הממשימה ביצירת ממשקי הפרוייקט שלך, אתה מתחיל להוסיף שיטות ממשק בנוסף לממשקים עם מאפיינים בלבד. כדי לבדוק את הממשק, אתה מפתח כיתה המיישמת שיטות אלה.
ממשק הוא ערכה של פונקציות קשורות שמחלקה חייבת ליישם. הוא יכול לכלול שיטות, מאפיינים, אירועים ואינדקסים.
לדוגמה, שקול להשתמש בממשק IVehicle בשם הכולל פעולת Drive שירות ומאפיינים עבור Speed ו- Color:
public interface IVehicle
{
int Speed { get; set; }
string Color { get; set; }
void Drive();
}
הערה
Drive כיצד השיטה מוצהרת ללא גוף בממשק. בעת הוספת שיטות לממשק, כלול את חתימת פעולת השירות בהצהרת הממשק, אך לא את גוף פעולת השירות. המחלקה המיישמת את הממשק מספקת את גוף השיטה.
בניית מחלקה המיישמת את הממשק
יישום ממשק בכיתה זהה עבור מחלקות עם מאפיינים, שיטות או שניהם. בעת יצירת כיתה המיישמת ממשק, ציית לקווים המנחים הבאים:
- ספק יישומים עבור כל חברי הממשק.
- הצהר על הממשק כחלק מהגדרת המחלקה וספק את גוף השיטה הנדרש.
הערה
מחלקה יכולה ליישם ממשקים מרובים, ומאפשרת לה לכלול אופן פעולה ממקורות מרובים. עם זאת, מחלקה יכולה לרשת ממחלקה אחת בלבד. אם מחלקת בסיס מיישמת ממשק, כל מחלקה הנגזרת ממחלקה הבסיסית יורשת יישום זה.
בדוק את דוגמת Car הכיתה הבאה, המיישמת את הממשק IVehicle :
public class Car : IVehicle
{
private int _speed;
private string _color;
public int Speed
{
get { return _speed; }
set { _speed = value; }
}
public string Color
{
get { return _color; }
set { _color = value; }
}
public void Drive()
{
// Implementation of the Drive method
Console.WriteLine("The car is driving.");
}
}
בדוגמה זו, פעולת Drive השירות מיושמת כדי להציג הודעה כאשר מתבצעת קריאה אליה. זהו יישום פשוט למטרות הדגמה. באפליקציה מהעולם האמיתי, השיטה יכולה Drive להכיל קוד מורכב יותר הקובע את האופן שבו הרכב נוהג.
ממשקים מגדירים חוזה של חתימות שיטות ומאפיינים הדרושים למחלקה כדי ליישם. כאשר מחלקה מיישמת ממשק, היא מספקת את הקוד בפועל עבור שיטות אלה, והופכת ביעילות את חתימות השיטה לשגרות פונקציונליות. תהליך זה מאפשר לכיתה לאמץ אופני פעולה מגוונים על-ידי יישום ממשקים מרובים. כאשר תמשיך לפתח ולהגדיר שיטות בתוך ממשקים, תוכל לגלות שהשימוש בממשקים עשוי להוביל לקוד נקי יותר, יעיל יותר וניתן לניהול.