abstract در سی شارپ در کلاس ها به کاربردی اساسی دارد. شما اگر نیاز داشته باشید تا کلاسی را برای ارث بری در اختیار دیگران قرار دهید به طوری که فقط قالب را در اختیار آنها قرار دهید باید از abstract استفاده کنید. کلاسی که Abstract است هیچ گونه متغیری ندارد و تنها و تنها توابع و پراپرتی ها و.... را درون آن تعریف میکنیم. توجه شود که کد آن کلاس و یا متد نوشته نمی شود. این کلاس در اختیار دیگران قرار داده می شود که می توانند از آن ارث بری کنند و توابع را Override کنند.
بعنوان مثال کد زیر:
abstract class Building
{
public abstract decimal CalculateHeatingCost(); // abstract method
}