آموزش سی شارپ

مباحث پایه سی شارپ

مباحث پیشرفه سی شارپ

دستورات سی شارپ

وراثت (Inheritance) در زبان سی شارپ – آموزش زبان سی شارپ

  • پنجشنبه ۵ اردیبهشت ۱۳۹۸
  • بازدید ۲,۶۲۵ نفر

تصویر csharp-inheritance_4533 وراثت (Inheritance) در زبان سی شارپ - آموزش زبان سی شارپ

وراثت (Inheritance) در زبان سی شارپ

یکی از مفاهیم مهم و پر کاربر در برنامه نویسی شیء گرا، مفهوم وراثت (Inheritance) است. وراثت به ما اجازه می دهد تا یک کلاس با استفاده از ویژگی های کلاس دیگر بسازیم. این موضوع باعث راحتر شدن کار ایجاد و نگه داری برنامه می شود. همچنین با کمک وراثت امکان استفاده مجدد از کدها فراهم می شود و سرعت و کارایی برنامه نیر افزایش می یابد.

در زمان ایجاد یک کلاس جدید، به جای آن که تمامی اعضای آن را از نو بنویسید، می توانید از اعضای مشابهی که در کلاس دیگر وجود دارد است استفاده کنید. کلاسی از اعضای آن استفاده می شود کلاس base یا parent و کلاسی که استفاده کننده است کلاس derived یا child نامیده می شود.

در حقیقت نظریه وراثت رابطه IS-A (است – یک) را پیاده سازی می کند. برای نمونه پستاندار یک حیوان است، سگ یک پستاندار است از این رو سگ یک حیوان است. نمونه انگلیسی این مثال:

mammal IS A animal, dog IS-A mammal hence dog IS-A animal as well.

کلاس های والد و فرزند (Base and Derived)

یک کلاس می تواند از یک یا چند کلاس و اینترفیس ارث بری کند. به عبارت دیگر می تواند داده ها و توابع را از کلاس ها و اینترفیس های مختلفی به ارث ببرد.

شکل کلی تعریف یک کلاس base و یک کلاس derived به صورت زیر است:

کلاس والد Shape و کلاس فرزند Rectangle را در نظر بگیرید:

امتحان کنید

زمانی که کد بالا توسط کامپایلر سی شارپ اجرا شود، نتیجه زیر را تولید خواهد کرد:

مقدار دهی کلاس Base

کلاس فرزند اعضای کلاس والد را به ارث می برد، بنابراین باید قبل از کلاس فرزند ایجاد شود. مثال زیر نحوه مقدار دهی کلاس والد از طریق کلاس فرزند را نشان می دهد:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

وراثت چندگانه در زبان C#

زبان برنامه نویسی C# از ارث بری چندگانه پشتیبانی نمی کند و شما فقط امکان ارث بری از یک کلاس را دارد. با این حال شما می توانید از اینترفیس به منظور پیاده سازی وراثت چندگانه استفاده شده است.

مثال زیر این موضوع را نشان می دهد:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است