خرداد ۲۶, ۱۳۹۸ Mostafa بدون دیدگاه

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

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

آموزش Override کردن متدها

می توان در یک کلاس مشتق شده متدهای به ارث برده شده از کلاس پایه را مجدداً و بصورت تخصصی بازنویسی کرد. در این صورت با فراخوانی متد توسط شی از کلاس مشتق شده ، متد تخصصی کلاس مشتق شده فراخوانی می شود نه متد ارائه شده توسط کلاس پایه .

نحوه پیاده سازی

  • تعریف متدهای موردنظر در کلاس پایه به صورت Virtual
  • تعریف متدهای موردنظر در کلاس مشتق شده به صورت Override و پیاده سازی آنها به صورت تخصصی
  • متد Override شده دارای ساختار (نام ، تعداد پارامتر،نوع پارامتر و نوع برگشتی) مشابه متد Virtual کلاس پایه است و تنها پیاده سازی تخصصی دارد.

یک نمونه از بازنویسی کردن متدها را در زیر ببینید :

public class Shape
{
    protected string name;

    public virtual void Draw()
    {
        Console.WriteLine("این تنها یک شکل عمومی است");
    }
}

public class Circle :Shape
{
    public override void Draw()
    {
        Console.WriteLine("این یک دایره است");
    }
}

public class Square : Shape
{
    public override void Draw()
    {
        Console.WriteLine("این یک مربع است");
    }
}

اگر متدها را به صورت زیر صدا بزنیم :

Circle  c=new  Circle();
c.Draw();

Square  s=new  Square();
s.Draw();

Shape  p=new  Shape();
p.Draw;

خروجی :

این یک دایره است

این یک مربع است

این تنها یک شکل عمومی است

 

 


نظرات

توجه : لطفاً فقط نظرات خود را از این طریق ارسال نمایید و سوالات و مشکلات خود را در انجمن سایت مطرح نمایید.

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