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

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

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

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

  • בכדי ליצור מחלקה אבסטרקטית יש לכתוב abstract לפני שם ה- class
  • לא ניתן ליצור אובייקטים ממחלקה אבסטרקטית
  • ניתן ליצור ייחוס ממחלקה אבסטרקטית (בד"כ לצורכי פולימורפיזם)
  • מחלקה אבסטרקטית יכולה להכיל כל דבר שמחלקה רגילה יכולה להכיל
  • מחלקה אבסטרקטית יכולה (אבל לא חייבת) להכיל פונקציות אבסטרקטיות
  • לא ניתן לכתוב פונקציה אבסטרקטית במחלקה שהיא לא אבסטרקטית
  • פונקציה אבסטרקטית היא פונקציה שאין לה מימוש. היא נכתבת כהצהרה ללא גוף (כלומר ללא בלוק של פקודות)
  • כאשר יורשים מחלקה אבסטרקטית חובה לממש את כל הפונקציות האבסטרקטית שבה (אם יש)
  • המימוש של פונקציה אבסטרקטית הוא באמצעות מילת המפתח override

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

 

  abstract class Shape
  {
    public abstract double GetArea();
  }

 

  class Circle : Shape
  {
    public double Radius { get; set; }

    public override double GetArea()
    {
      return Math.PI * Radius * Radius;
    }
  }

 

  class Program
  {
    static void Main(string[] args)
    {
      Shape b = new Circle() { Radius = 5 };
      Console.WriteLine(b.GetArea());
    }
  }

 

 

השוואה בין virtual ל- abstract

 

abstract

virtual

מימוש הפונקציה במחלקה

אין מימוש של הפונקציה - לא צריך להגדיר את גוף הפונקציה, רק כותרת.

יש לממש את הפונקציה (בדומה לפונקציה רגילה). משמש לפולימורפיזם.

מימוש הפונקציה במחלקות היורשות

חובה לממש במחלקות היורשות בצורה ישירה.

לא חובה לממש.

מיקום הפונקציה

במחלקה אבסטרקטית בלבד

בכל מחלקה

הצהרה

לא private (משום שאז הפונקציה לא תיראה במחלקות הנגזרות ולא נוכל לממש אותה)

ליאור זמיר, ג'ון ברייס הדרכה

מנהל תחום Webmaster ומרצה בכיר בג'ון-ברייס מכללת היי-טק מקבוצת Matrix, בקורסים לפיתוח ותיכנות באמצעות Microsoft .NET, מולטימדיה ועיצוב ובניית אתרי אינטרנט ואינטראנט. פיתוח הדרכה ומתן ייעוץ טכנולוגי.

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

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

תגובות למאמר



עוד במדריך

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

X
הצטרף לעמוד שלנו בפייסבוק להישאר מעודכן!
וובמאסטר © כל הזכויות שמורות