دانلود نرم افزار - آموزش سی شارپ
دانلود نرم افزار - آموزش سی شارپ

دانلود نرم افزار - آموزش سی شارپ

اووررایدینگ در سی شارپ

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

می دانید در صورتی که یک کلاس از یک کلاس والد ارثبری داشته باشد باید متدهای انتزاعی آن کلاس را درون خود پیاده سازی کند. حالا که مجبور به پیاده سازی هستیم چگونه در این متدها متناسب با نیاز خود تغییر ایجاد کنیم ؟

در کد زیر دقت کنید .

  class Animal
{
    public virtual string Sound() // استفاده از virtual برای اجازه بازنویسی
    {
       return "صدای حیوان";
    }
}
class Dog : Animal
{
    public override string Sound() // بازنویسی متد با همان نام و پارامترها
    {
      return  "واق واق";
    }

}

ما در کلاس Animal متدی به نام sound داریم که با کلمه کلیدی virtual  مجوز ایجاد تغییر در آن توسط کلاس های مشتق را داده ایم . در کلاس Dog که از کلاس Animal ارثبری می کند نیز متد sound را داریم که در اینجا با کلمه کلیدی override اعلام می کند که من در متد کلاس والد تغییراتی می دهم. در کد زیر نیز روش استفاده از این کلاس را مشاهده می کنید.

private void button2_Click(object sender, EventArgs e)
{
    Animal myDog = new Dog();
    label1.Text = myDog.Sound() ;
}

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد