{CodeGate}

overriding در جاوا (method overriding)

در این جلسه، تیم کدگیت را با آموزش overriding در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با متد
  2. آشنایی با شی گرایی
  3. آشنایی با ارث بری

Overriding در جاوا

در یک کلاس اگر یک متد همنام متدی که در کلاس پدر خود وجود دارد،بنویسیم به آن override میگویند. به زبان دیگر اگر کلاس فرزند متدی را پیاده سازی کند که به نوعی در کلاس پدر وجود داشته است، overriding در جاوا انجام داده ایم. شروط overriding به ترتیب زیر است:

  1. نام متدها یکسان باشد
  2. ورودی و خروجی متدها یکسان باشد
  3. متدهای override شده حتما باید در دو کلاس متفاوت باشند و بین کلاس ها رابطه ارث بری وجود دارد.

مثال overriding در جاوا

دو کلاس به نام Human و Boy داریم. کلاس Boy از کلاس Human ارث بری میکند. حال برای اینکه overriding را در جاوا انجام دهیم برای دو کلاس متدی به نام eat مینویسیم.کد آن به صورت زیر است:

حال نوبت به main رسیده است کد main به صورت زیر است:

حال در خروجی فقط متد درون کلاس Boy اجرا شده است. بدین ترتیب هر کلاس فرزند میتواند یک پیاده سازی منحصر به فرد برای خود داشته باشد.اگر هم این ویژگی را در کلاس فرزند نتوانستیم پیاده سازی کنیم کلاس پدر آن را مدیریت میکند!!! خروجی کد بالا به صورت زیر است:

Boy is eating

قوانین overriding در جاوا

  1. تمام آرگومان های ورودی خروجی متدها باید یکسان باشند.چه در کلاس پدر و چه در کلاس فرزند
  2. سطح دسترسی هر دو متد باید یکی باشد(منظور public یا private بودن است).
  3. متد override شده میتواند بعضی استثناها را کنترل کند(میتواند Checked exception را کنترل کند).
  4. برای دسترسی به کلاس پدر از کلاس فرزند کافیست کلمه super را استفاده کرد. در کد بالا اگر در کلاس Boy بنویسیم eat() آنوقت کلاس پدر نیز اجرا میشود.

 

دسته : java, آموزش قدم به قدم جاوا, جاوا, شی گرایی در جاوا

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz