(بر‌نامه نویسی سی شارپ) مفهوم ارث بری  Multiple Inhertance در کلاس #C (مهندسی برق _ الکترونیک)

پژوهشگر و نویسنده:  دکتر (  افشین رشید )


نکته: یکی از جنبه های کلیدی زبان های برنامه نویسی شی گرا (OOP (Programming Oriented Objected از جمله #C بر پایه آن بنا شده است، مفهوم ارث بری یا Inhertance می باشد. ارث بری یعنی تولید کلاس هایی جدید که برخی از ویژگی های خود را از کلاس class مادر Class Parent به ارث برده اند.

کل چهارچوب کاری NET ،بر پایه مفهوم ارث بری نباشد، که جمله معروف "همه چیز شی یا object است"، از جمله نتایج آن می باشد. در زبان #C ،حتی  یک  عدد ساده، نمونه  ای از یک class کلاس است که خود از class کلاس مادر object.System به ارث رفته است. اگر چه  چهارچوب کاری NET ،.این امکان را نیز برای شما فراهم کرده تا مقدار مورد نظر خود را مستقیما به یک عدد بدهید، بدون آن که نیاز داشته باشید تا نسخه جدیدی از کلاس Integer ایجاد کنید.شاید بیان مفهوم ارث بری کمی سخت باشد، اما ارائه مثال های عملی کمک شایانی در این زمینه می کند. نمونه کد زیر، یک مثال ساده از مفهوم ارث بری در زبان #C است :

public class Animal

{

 public void Greet()

 {

 Console.WriteLine("Hello, I'm some sort of animal!");

 }

}

public class Dog : Animal

{

}

در کد فوق، در مرحله اول یک کلاس به نام Class Animal تعریف کرده ایم و دارای یک متد ساده جهت چاپ پیام خوش آمد گویی است. سپس کلاس Class Dog را ایجاد کرده و با قرار دادن یک در مقابل آن، به #C اعلام کرده ایم این class کلاس بایستی از کالس Animal به ارث رود. نکته جالب در مورد مثال فوق این است که رابطه سگ و حیوان نیز در طبیعت به همین صورت می باشد، یعنی Dog زیر مجموعه ای از حیوانات است. اکنون بیایید نحوه به کار بردن class کلاس ها را بررسی کنیم.

در زبان #C ،شما نمی توانید عضو (member) یک کلاس را بازنویسی یا averride کنید، مگر این که آن را به عنوان Virtual تعیین کرده باشید. اگر هم بخواهید، می توانید متد به ارث برده شده را با به کار بردن کلمه کلیدی base ،به صورت اولیه خود فراخوانی کنید.

نکته مهم : شما در #C نمی توانید کاری کنید که یک class کلاس از چند class کلاس مختلف به ارث برود. به این کار ارث بری چندگانه (inheritance multiple ) می گویند که در #C پشتیبانی نمی شود.

تنها متدها (Methods) نیستند که می توان آن ها را در کلاس ها به ارث برد، سایر خصوصیات یک کلاس class مثل فیلد ها (Fileds) و خواص (Properties ) نیز خاصیت ارث بری دارند. ارث بری یا Inhertance فقط مختص یک class کلاس به کلاس class دیگر نیست. شما می توانید یک سلسله مراتب از class کلاس های مرتب به هم را بسازید. برای مثال می توانید یک class کلاس به نام Puppy ایجاد کرده که خودش از کلاس Dog به ارث برود، در حالی که Dog فرزند کلاس Animal است. 

پژوهشگر و نویسنده:  دکتر (  افشین رشید )