تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#

ساخت وبلاگ

کلاس sealed نوعی از کلاس است که امکان ارث بری از آن وجود ندارد : public sealed class Human { .... } public class employed:Human X ==> نمی توان ازین کلاس ارث بری کرد تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 92 تاريخ : يکشنبه 19 تير 1401 ساعت: 0:59

  1- متد سازنده هم نام با کلاس تعریف می شود . 2 - برای مقدار دهی به فیلد های کلاس تعریف می شود . 3- مقدار بازگشتی ندارد حتی void هم نیست. 4- دقیقا در زمان ایجاد نمونه ای از کلاس فراخوانی شده و مقدار دهی اولیه به فیلد های کلاس را انجام می دهد. 5- می تواند شامل over load  های مخلف باشد. 6- اگر در یک کلاس متد سازنده توسط developer  پیاده سازی نشود کامپایلر به طور پیش فرض یک متد سازنده ایجاد می کند و به فیلد های عددی مقادیر 0  و به فیلد های بولین مقدار false  و به object  ها را با null تنظیم می کند. مثال در ادامه مطلب تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...ادامه مطلب
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 155 تاريخ : يکشنبه 10 دی 1396 ساعت: 1:01

مثال :به عنوان یک مثال ساده برای درک بهتر این مفهوم می توان به رابطه ی بین حیوان و سگ اشاره کرد همانطور که می دانید سگ نوعی حیوان است . یعنی سگ علاوه بر ویژگی های خاص خود شامل ویژگی های حیوان بودن نیز می شود . اگر از دید برنامه نویسی به این مفهوم نگاه کنیم و یک کلاس برای حیوان که شامل متدهای تعریف حیوان بودن  بنویسیم  و در ادامه بخواهیم یک کلاس برای سگ بنویسیم فقط کافیست که کلاس سگ از کلاس حیوان ارث بری کند تا به تمام متد های کلاس حیوان دسترسی پیدا کند . public class Animal{    public string explain()    {        retu " Some type of alive creature";    }} در این جا کلاس حیوان را تعریف کردیم حال برای کلاس سگ داریم : public class Dog: Animal              ==>     در این جا کلاس سگ از کلاس حیوان ارث بری می کند{    public string describe()    {        retu "Some type of Animal ";    }} و در استفاده از این دو کلاس داریم : Animal anm = new Animal();string s1 = anm.explain();   Dog myDog = new Dog();string s2 = myDog.explain();    ==> دسترسی ابجکت ساخته شده از کلاس سگ به متد کلاس حیوانstring s3 = myDog.describe(); تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...ادامه مطلب
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 184 تاريخ : يکشنبه 10 دی 1396 ساعت: 1:01

 

کلاس sealed نوعی از کلاس است که امکان ارث بری از آن وجود ندارد :

public sealed class Human
{

....

}

public class employed:Human   X  ==> نمی توان ازین کلاس ارث بری کرد

تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 161 تاريخ : يکشنبه 10 دی 1396 ساعت: 1:01

مثال : به عنوان یک مثال ساده برای درک بهتر این مفهوم می توان به رابطه ی بین حیوان و سگ اشاره کرد همانطور که می دانید سگ نوعی حیوان است . یعنی سگ علاوه بر ویژگی های خاص خود شامل ویژگی های حیوان بودن نیز می شود . اگر از دید برنامه نویسی به این مفهوم نگ تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...ادامه مطلب
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 206 تاريخ : پنجشنبه 2 آذر 1396 ساعت: 12:36

Protected Method : متدی که به صورت Protected در یک کلاس تعریف شود در کلاس هایی که از آن ارث بری می کنند در دسترس خواهند بود اما در نمونه ساخته شده از کلاس ارث بری شده قابل استفاده نخواهد بود . در این جا کلاس Human را تعریف می کنیم که شامل یک متد Prot تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...ادامه مطلب
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 161 تاريخ : پنجشنبه 2 آذر 1396 ساعت: 12:36

دسترسی به عناصر کلاس پایه از کلاس مشتق :

حالت 2 :

یکی دیگر از راه های دسترسی به کلاس پایه از طریق کلاس مشتق این روش می باشد که در پایین ان را توضیح داده ایم :

فرض کنید کلاس Student از کلاس Human مانند مثال قبل ارث بری کرده است:

public class Student:Human
{

.

.

.
    public Override int GetNameLengh() =>base.GetNameLength()+this.StudentCode.length;
  
}

این متد نیز دقیقا همان کار متد حالت1 را می کند .

تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 161 تاريخ : پنجشنبه 2 آذر 1396 ساعت: 12:36

دو Interface  می نویسیم : interface Ipersianmath    {       int sum(int a, int b);       int sum(int a, int b, int c);    } __________________________________________________________________interface Ipersiantext    {    string ReverseText(string tex تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...ادامه مطلب
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 136 تاريخ : پنجشنبه 2 آذر 1396 ساعت: 12:36

Abstract class:

کلاس هایی هستند که می توان از آن ها ارث بری کرد اما نمی توان از آن ها Object ساخت.

معمولا کلاس هایی که به صورت Abstract تعریف می شوند که در آینده نیاز به توسعه ی اساسی و گستره دارند و این کلاس ها بیشتر نقش پایه و چارچوب سایر کلاس ها را بر عهده دارند.

به مثال زیر توجه کنید :

public Abstract class Human
{

....

}

public class Student:Human     ==> مشکلی پیش نمی آید
{

....

}

Human h=new Human();      X  ==> از این نوع کلاس نمی توان نمونه ساخت

تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 175 تاريخ : پنجشنبه 2 آذر 1396 ساعت: 12:36

اگر بخواهیم property  را به زبان ساده بیان کنیم می توانیم بگوییم یک قسمت کد است که همزمان کار set و get  را انجام می دهد:       public class Circle    {        private int _radius;        public int Radius        {            get{ retu _radius }    تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c#...ادامه مطلب
ما را در سایت تعریف وراثت یا Inheritance و پیاده سازی آن در زبان c# دنبال می کنید

برچسب : نویسنده : alirezarahnamaa بازدید : 153 تاريخ : پنجشنبه 25 آبان 1396 ساعت: 13:28