PDA

View Full Version : سئوال درباره ارث بری



SajjadKhati
شنبه 02 بهمن 1395, 11:13 صبح
سلام
درباره ی نوع کلاس پدر و مقدار فرزند ، میخواستم ببینم تحلیلی که در زیر میکنم درست هست یا نه و اگه درست نیست ، ممنون میشم درست اش رو توضیح بدین (چون درک این مسئله برام توی کدنویسی مهم هست) .
در کد زیر :



FatherClass object = new ChildClass();



اشیاء هایی از نوع کلاس ، اشاره گری هستن به مقادیرشون (سمت راست) پس در کد بالا ، object اشاره گری هست به کلاس ChildClass . پس یعنی شی object ، به اعضای اونجایی رو که اشاره میکنه یعنی به اعضای کلاس ChildClass ، دسترسی داره منتها فقط به اعضایی از کلاس فرزند دسترسی داره که در کلاس پدر موجود باشه (تعریف شده باشه)
پس شی object به اعضای جدیدی که در کلاس فرزند تعریف شده ، دسترسی نداره
اگه متدی override شده باشه ، چون اعضای کلاس فرزند رو میبینه و override هم باعث باطل شدن متد در کلاس پدر میشه ، پس عضو override شده در کلاس فرزند اجرا میشه نه عضو virtual در کلاس فرزند
ولی با این تفاسیر ، نمیدونم چرا در شی object ، اگه member hiding اتفاق بیفته ، بجای اجرای عضو مخفی شده در کلاس فرزند ، عضو اصلی در کلاس پدر رو اجرا میکنه ؟؟!!

—------------------------------—

یا اینکه این تحلیل درسته؟ (اما فکر کنم تحلیل بالا درست باشه) :
اینکه شی object در کد بالا ، اعضای پدر رو اجرا میکنه بجز حالت override رو که در کلاس پدر اجرا میکنه

کدوم درست هه؟ و اگه اولی درسته ، ممنون میشم جواب سئوال مو بدین و اگه حس میکنین نکته ای رو نمیدونم ، ممنون میشم بگین

Mahmoud.Afrad
شنبه 02 بهمن 1395, 14:48 عصر
http://barnamenevis.org/showthread.php?401281-%D9%85%D8%AA%D8%AF-%D9%BE%D9%86%D9%87%D8%A7%D9%86-%D8%8C-%D8%A7%D8%B1%D8%AC%D8%A7%D8%B9-%D8%A8%D9%87-%DA%A9%D9%84%D8%A7%D8%B3-%D9%BE%D8%A7%DB%8C%D9%87-%D8%AF%D8%B1-%DA%A9%D9%84%D8%A7%D8%B3-%D9%85%D8%B4%D8%AA%D9%82-%D8%B4%D8%AF%D9%87&p=1782635&viewfull=1#post1782635