در سی شارپ می توان فیلدها یا پروپرتی ها و متدها را از یک کلاس دیگر نیز به ارث برد . به این رفتار (Inheritance) یا ارث بری می گویند در مفهوم "ارث بری" با دودسته مواجه می شویم .
دسته اول کلاس های پایه یا والد که به (Base Class) یا (Parent) نام گذاری شده اند: کلاس های دیگر از این نوع کلاس ارث می برند.
دسته دوم کلاس های نشأت گرفته شده یا فرزند که به (Derived Class) یا (child) نام گذاری شده اند: این نوع کلاس ها از کلاس نوع اول ارث می برد. برای ارث بری از یک کلاس از علامت (:) استفاده می کنیم.
در مثال پایین کلاس "ماشین" (Car) تمام فیلدها و متدها را از کلاس "وسیله نقلیه" (Vehicle) ارث می برد.
class Vehicle // base class (parent)
{
public string brand = "Ford"; // Vehicle field
public void honk() // Vehicle method
{
Console.WriteLine("Tuut, tuut!");
}
}
class Car : Vehicle // derived class (child)
{
public string modelName = "Mustang"; // Car field
}
class Program
{
static void Main(string[] args)
{
ساخت یک شی از کلاس car //
Car myCar = new Car();
صدا زدن متد هونک از کلاس ویسل بوسیله شی یا نمونه ای از کلاس car //
myCar.honk();
نمایش محتوای فیلد brand (از کلاس ویسل)و محتوای (modelName) از کلاس Car //
Console.WriteLine(myCar.brand + " " + myCar.modelName);
}
}
استفاده از ارث بری بخاطر استفاده مجدد از فیلدها و متدهایی است که ما قبلا در کلاس های دیگر نوشته ایم.
اگر ما نخواهیم کلاس های دیگر از یک کلاس ما ارث بری داشته باشند ما باید کلاسمان را بصورت مهر و موم شده (sealed) اعلان کنیم .
اگر کسی سعی کند از یک کلاس (sealed) ارث بری داشته باشد با پیام خطا مواجه می شود.
در مثال پایین کلاس (Car) نمی تواند از کلاس (Vehicle) ارث بری داشته باشد. و در صورت انجام این کار با پیام خطا مواجه می شود
sealedclass
Vehicle
{
...
}
classCar
:
Vehicle
{
...
}
برای مواقعی که نمیخواهید از IDE
برای اجرای برنامه سیشارپ استفاده کنید، میتونید اون رو بهصورت
دستی کمپایل و اجرا کنید.
کمپایلر سیشارپ csc.exe است
که کد شما رو به فایل اجرایی تبدیل میکنه. برای این کار، میتونید از یک بچ فایل
(فایلی با پسوند bat که
در Notepad نوشته میشه)
استفاده کنید.
اگه نام فایلتون MyProgram.cs باشه، بچ فایل
رو اینطوری بنویسید:
csc MyProgram.cs
MyProgram.exe
بعد از ذخیره بچ فایل با پسوند bat و
قرار دادنش کنار فایل MyProgram.cs ، کافیه روی اون دبلکلیک
کنید تا هم کمپایل بشه و هم برنامه اجرا بشه.
نکته : مطمئن بشید که csc.exe در PATH سیستم
باشه یا مسیر کاملش رو در بچ فایل بنویسید.