کلاس های انتزاعی
Csharp abstract Classes
کلاس Abstract
اگر کلاسی برای فراهم کردن فیلدها و اعضای مشترک تمام زیرکلاس ها ایجاد شود، به این نوع کلاس Abstract می گوییم.
نحوه نوشتن کلاس Abstract
این کلاس در سی شارپ با استفاده از کلمه کلیدی abstract ایجاد می شود.
مثال:
1 2 3 | abstract public class Pen { } |
گاهی اوقات شرایطی پیش می آید که امکان تعریف یک متد در کلاس Base وجود ندارد و به جای آن همه کلاس هایی که از کلاس Base ارث بری کرده اند باید این متد را override نمایند. در این شرایط، کلاس ها و متدهای Abstract استفاده می شوند.
متدهای Abstract هیچ پیاده سازی ندارند، بنابراین تعریف این متدها به جایی اینکه مانند بلاک متدهای دیگر بدنه داشته باشد، با یک سمی کالن بسته می شود. کلاس های مشتق شده از کلاس Abstract باید تمام متدهای Abstract را پیاده سازی کنند. زمانی که یک کلاس Abstract یک متد Virtual را از کلاس Base ارث بری می کند، کلاس Abstract می تواند متد Virtual را با یک متد abstract، override کند.
برخی از نکات کلیدی درباره کلاس های abstract به صورت زیر می باشد:
هر کلاسی تنها از یک کلاس abstract ارث بری می کند.
اعضای یک کلاس abstract می توانند هر نوع access modifier (مجوز دسترسی) داشته باشند.
متدهای این کلاس می توانند پیاده سازی داشته باشند یا نداشته باشند.
به عنوان نوعی از کلاس نمی توان از آن شی ساخت، اما کلاس های دیگر می توانند از آن ارث بری کنند.
کلاس های Abstract امکان تعریف فیلدها و ثابت ها را می دهند.
Csharp abstract Classes Csharp abstract Classes Csharp abstract Classes Csharp abstract Classes
Csharp abstract Classes Csharp abstract Classes Csharp abstract Classes Csharp abstract Classes