دانلود نرم افزار - آموزش سی شارپ
دانلود نرم افزار - آموزش سی شارپ

دانلود نرم افزار - آموزش سی شارپ

Inheritance : ارث بری

در سی شارپ می توان فیلدها یا پروپرتی ها و متدها را از یک کلاس دیگر نیز به ارث برد . به این رفتار (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) ارث بری داشته باشد. و در صورت انجام این کار با پیام خطا مواجه می شود

sealed class Vehicle 
{
  ...
}
 
class Car : Vehicle 
{
  ...
}
نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.