مفهوم overriding در سی شارپ

ارسال شده توسط: حسین درویشی Comments: 2

مفهوم overriding در سی شارپ

در این مقاله می خواهم در مورد مفهوم overriding در سی شارپ توضیح دهم. بدون حاشیه به سراغ تعریف متد Overriding می روم.

تعریف متد Overriding

متدی که در کلاس فرزند بازنویسی مجدد گردد متد Overriding می گویند. به عبارتی متدی است که بتوان بدنۀ یک متد را در کلاس فرزند از نوع و یک جور دیگر نوشت.

حال اینکه چگونه می توان این چنین متد را در سی شارپ تعریف کنیم، ادامه بحث این مقاله می باشد.

overriding در سی شارپ

نکته: متدهایی قابل override کردن هستند که از نوع virtual باشند.

    public class Test1
{
public virtual void Show()
{
Console.WriteLine("Show 1");
}
}
class Test2:Test1
{
public override void Show()
{
Console.WriteLine("Show 2");
}
}

پس برای داشتن یک متد با قابلیت overriding در کلاس فرزند باید ابتدا آن متد را در کلاس والد بصورت virtual تعریف کنیم و سپس با کلمه کلیدی override در کلاس فرزند آن متد را بازنویسی مجدد کنیم.

دقت داشته باشید که متدهای کلاس های از نوع abstract برای override کردن نیاز به تعریف متد مجازی ندارند.

چرا که متد کلاس های abstract باید از نوع abstract تعریف شوند و هیچ بدنه ای در کلاس والد ندارند.

    public abstract class Abstract1
{
public abstract void Show();
}
class MyClass:Abstract1
{
public override void Show()
{
Console.WriteLine("is override");
}
}
برای امتیاز به این نوشته کلیک کنید!
[کل: 6 میانگین: 4.5]

Comments (2)

  • سینا پاسخ

    دمت گرم داش

    13 آذر 1400 at 4:29 ب.ظ
    • حسین درویشی پاسخ

      سپاس از لطف شما

      13 آذر 1400 at 7:00 ب.ظ

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *