در این بخش به معرفی موضوع ارثبری در زبان برنامهنویسی سیشارپ میپردازیم و در پستهای بعدی، انواع مختلف ارثبری را با مثالهای بیشتری بررسی خواهیم کرد.
ارثبری به این معناست که یک کلاس میتواند از متدها، ویژگیها یا رفتارهای تعریفشده در کلاس دیگر استفاده کند. به این فرآیند، ارثبری از یک کلاس گفته میشود. کلاسی که متدها و ویژگیهایش به ارث برده میشود، کلاس والد یا پایه نام دارد و کلاسی که از آنها استفاده میکند، کلاس فرزند یا مشتق نامیده میشود.
زبان سیشارپ تنها از ارثبری یگانه (Single Inheritance) پشتیبانی میکند، یعنی هر کلاس فرزند فقط میتواند از یک کلاس والد ارثبری کند. اما ارثبری چندگانه (Multiple Inheritance) به صورت مستقیم در سیشارپ پشتیبانی نمیشود. برای جبران این محدودیت، سیشارپ از رابطها (Interfaces) استفاده میکند که جایگزینی بهتر و قوی تری برای ارثبری چندگانه هستند و در پستهای بعدی به طور مفصل بررسی خواهند شد.
در این جلسه، صرفاً به یک مثال ساده از ارثبری یگانه بین دو کلاس اکتفا میکنیم:
public class Animal
{
public void Eat() => Console.WriteLine("Eating...");
}
public class Dog : Animal
{
public void Bark() => Console.WriteLine("Barking...");
}
// کد تست
var dog = new Dog();
dog.Eat(); // خروجی: Eating...
dog.Bark(); // خروجی: Barking...
در مثال بالا، کلاس Dog از کلاس Animal ارثبری کرده و میتواند از متد Eat استفاده کند، ضمن اینکه متد اختصاصی خودش یعنی Bark را نیز دارد. در پستهای بعدی، به انواع دیگر ارثبری و کاربردهای آنها خواهیم پرداخت.