کلاسهای abstract (انتزاعی) در c#
در ارث بری کلاس های پایه ، تنها شامل متدها و خصوصیاتی هستند که در بین کلاسهایی که از این کلاسها مشتق می شوند مشترک هستند. به عبارت دیگر خود کلاس های پایه دارای مفهوم کاملی از یک شیئ نمی باشند ، درنتیجه ایجاد اشیاء جدید از این کلاسها بی معنی است. برای اینکه نتوان از کلاسهای پایه ، اشیاء نمونه ای تعریف کرد . آنها را به صورت abstract تعریف می نماییم.
نکته اینکه نمی توان اشیاء جدید از کلاس های abstract ایجاد کرد.
مثال :
Abstract class baseClass
{
Public int line();
Public int run(int Step)
{
Return step*10;
}
}
Class run1 : baseClass
{
Public string name(string name)
{
Return name;
}
Public override int line()
{
// پیاده سازی متد
}
}
متدهای کلاس abstract به صورت ضمنی virtual هستند ، بنابر این برای پیاده سازی این متدها در کلاس مشتق شده ،باید آنها را در کلاس پایه override کنیم.
کلمات کلیدی :
» نظر