مطالبی در مورد جاوا

مطالبی در مورد جاوا
بسم الله الرحمن الرحیم

چندریختی polymorphism (overLoading - Override)

پنجشنبه, ۳ شهریور ۱۴۰۱، ۰۶:۴۷ ق.ظ

 

فرآیند نمایش یک شکل در شکل‌‌‌‌های متعدد را چندریختی می‌گوییم. یک نمونه‌اش ارث‌بری است. وقتی سه کلاس Employee - Consumer -woman می‌آیند از کلاس Person ارث‌بری می‌کنند یعنی کلاس Person در این سه ریخت (سه کلاس) ظاهر شده. به سه شکل دیگر ظاهر شده. این می‌شود نمونه‌ی ارث‌بری. (منبع)

قابلیت چندریختی (polymorphism) یعنی جاوا دو قابلت دارد:

  1.  فراخوانی متدی یکسان با پارامترهای مختلف (overloading). (یعنی متد الف با آرگومان خودش را می نویسیم و بعد زیرش دوباره متد الف را با آرگومان دیگری و با بدنه ی دیگری می نویسیم. نام این متدها یکسان است. و زمان فراخوانی آنها به صورت خودکار بنا بر جنس آرگومان ورودی یکی از این دو اجرا می شود.)
  2. بازنویسی بدنه ی متد (overriding) در کلاس فرزند، 

ربط اوررایدینگ و اورلودینگ به چندریختی

در overriding کلاس فرزند همان کار کلاس پدر را می‌خواهد به سبک خودش انجام دهد. مثلا کلاس دانشجو که از کلاس انسان ارث‌بری کرده است متد «بیدار شدن» را اورراید می‌کند و به‌جای بیدار شدن در ساعت ۷ صبح در ساعت ۶ بیدار می‌شود! OverLoading هم احتمالا این‌گونه به چند ریختی مربوط می‌شود که مثلا در همان مثال خودمان یک دانشجو در روزهای مختلف ساعت‌های مختلف بیدار می‌شود. مثلا اگر متد بیدار شدن آرگومان نداشته باشد ساعت ۶ بیدار شود. اگر «روز هفته» را داشته بسته به روز هفته ساعت ۶ یا ۹ بیدار شود! اگر آرگومان «امتحان» داشته باشد ساعت ۵ بیدار شود. به این ترتیب این شخص در چند ریخت حاضر شد.)

-------------------------------

نمونه overLoading:

method a(){}
method a(String s){}
method a(String s , String b){}
method b(){}

نمونه OverRiding:

class AA {
	method a(){ 
		//do something
	}
}

class BB extends AA{
	@Override
	method a(){ 
		// do somethign else!!!!!!!
	}
}

 

موافقین ۰ مخالفین ۰ ۰۱/۰۶/۰۳

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی