آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

میراث بری

115776  10 سال پیش  10 سال پیش
0 0

سلام، می خواسم بپرسم یک کلاس که از کلاس دیگه extends شده تمام متدهای superClass  خودش رو اجرا میکنه درسته؟ حالا ترتیب اجرای متدها به چه صورته ابتدا متدها subClass  اجرا میشه بعد superClass یا بر عکس؟

0 0
بستگی داره! اگه اول کد سوپر کلاس باشه اول اون اجرا میشه و بالعکس (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Reza  10 سال پیش
+1 0

     سلام ، آره ، تمام متدها غیر از متد های Private مربوط به SuperClass رو میتونه اجرا میکنه ( البته اگه فراخوانی بشه ) . در مورد ترتیب اجرا ، اگه کلاس SubClass متدی از متدهای SuperClass رو Override کرده باشه ، خودت میتونی تعیین کنی که مثلا یه متد خاص ، اول دستورات متد SuperClass رو اجرا کنه و بعد دستورات شما رو ، یا بر عکس .

    اما اگه کلاس SubClass متدی از متدهای SuperClass رو اصلا نداشته باشه که دیگه معلومه ، یعنی اینکه کلا اون متد رو به ارث می بره و فقط دستورات متد SuperClass رو اجرا میکنه .

    اگر هم که کلاس SubClass متدی جدید داشته  باشه که در SuperClass موجود نیست ، یعنی یه رفتار جدید از خودش داره که از جایی به ارث نبرده و تمام دستوراتش مربوط به خودشه .

 

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


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .