برنامه نویسی

ارث بری در زبان های برنامه نویسی

نوشته شده توسط امین سجودی

به نام خدا

ارث بری در زبان های برنامه نویسی

سطح آموزش :

مبتدی

هدف :  آموزش مفهوم برنامه نویسی شی گرا

مفهوم ارث بری در زبان های برنامه نویسی یک مفهوم پیشرفته در برنامه نویسی است و این مفهوم در مقابل برنامه نویسی ساخت یافته قرار دارد .

برنامه نویسی شی گرا خیلی به واقعیت دنیای ما نزدیک تر است تا برنامه نویس به سبک ساخت یافته . ما در دنیای اطراف خود اجسام مختلف را به صورت یک شی می بینیم و نوع نگاهمان به آن ها به صورت یک شی است و بسیاری از اشیا با هم ارتباط معنایی دارند .

در برنامه نویسی ساخت یافته ما همه محتوای برنامه خود را توابع یا Function ها جایگذاری می کنیم ولی در برنامه نویسی شی گرا علاوه بر توابع مفهوم دیگری نیز وجود دارد که به نوع انتزاعی آن کلاس(Class) و به شکل واقعی آن شی یا آبجکت(Object) می گوییم .

در حقیقت در برنامه نویسی شی گرا برنامه ما شامل یکسری کلاس می شود ولی در برنامه نویسی ساخت یافته برنامه ما شامل یکسری تابع(Function) است .

قبل از اینکه بخواهیم وارد کد بشویم باید یکسری مفاهیم رو در برنامه نویسی شی گرا بررسی کنیم .

ارث بری , دسترسی ,Constructor , Method Overloading ,چند ریختی (Polymorphism)

مهمترین تفاوت بین برنامه نویسی شی گرا و برنامه نویسی ساخت یافته از همین ارث بری ایجاد شده است . ارث بری یعنی اینکه کلاس های ما که شامل یکسری متغیر و تابع یا متد هستند می توانند ویژیگی ها خود را به یک کلاس دیگر بدهند یا به عبارت دیگر یک کلاس دیگر می تواند ویژگی های یک کلاس دیگر را به ارث ببرد .(بهش فکر کنید)

شاید با یک مثال خیلی بهتر بشه موضوع رو روشن کرد . فرض کنید من یک کلاس دارم به اسم میوه . این میوه رنگ داره ، بو داره ، اندازه داره. حالا می خوام یک کلاس دیگه برای میوه پرتقال بسازم ، اگه ارث بری وجود نداشت باید یک کلاس درست می کردم و تمام ویژگی هایی که عینا توی کلاس میوه هست رو براش درست می کردم به علاوه ویژگی های خاصی که خود پرتقال داره . ولی حالا به کمک ارث بری فقط می گم که کلاس پرتقال باید ویژگی های خودش رو از کلاس میوه به ارث ببره و به اصطلاح Sub Class میوه است ، حالا بدون هیچ کار اضافه ای فقط کافیه ویژگی ها خاص پرتقال رو پیاده سازی کنم .

حالت بدون ارث بری :


class Mive
{
	public string Rang;
	public string Boo;
	public int Andaze;
}

class Porteghal
{
	public string Rang;
	public string Boo;
	public int Andaze;
	public float MizaneTorshi;
	public bool Tomson;
}

این کد به کمک ارث بری :


class Mive
{
public string Rang;
public string Boo;
public int Andaze;
}

class Porteghal : Mive
{
public float MizaneTorshi;
public bool Tomson;
}

به کمک ارث بری دیگر نیاز نیست که ویژگی های میوه را در پرتقال بنویسیم ، همین که نشان دهیم که پرتقال از میوه ارث می برد تمام ویژگی های میوه به پرتقال منتفل می شود . شاید در این لحظه به نظر برسد که چیز خاصی به دست نیاورده ایم ولی مواردی که در ادامه بررسی می کنیم ارزش ارث بری را بیشتر مشخص می کند .

-الان می توانیم بگوییم که کلاس پرتقال بچه کلاس میوه است .

-کلاس میوه پدر کلاس پرتقال است .

-هر تغییری در میوه باعث اعمال شدن آن به پرتقال و تمام کلاس های دیگری که از میوه ارث می برند می شود .

احتمالا به کلمه Public در ابتدای تعریف متغیر ها دقت کردید ، این مربوط به دسترسی ها است و در این مورد در آموزش بعدی صحبت خواهم کرد .

درباره نویسنده

امین سجودی

امین یک توسعه دهنده نرم افزار و علاقه مند به بازی می باشد که بیشتر وقت خود را صرف برنامه نویسی و یادگیری تکنولوژی های جدید می کند .

دیدگاه

اضافه کردن دیدگاه

20 − 4 =