PDA

View Full Version : سوال: final دقیقا کارش چیه؟



nunegandom
یک شنبه 07 مهر 1392, 15:09 عصر
سلام، final دقیقا کارش چیه؟

nunegandom
یک شنبه 07 مهر 1392, 23:40 عصر
..::SPAM::..

MMSHFE
دوشنبه 08 مهر 1392, 07:49 صبح
final یعنی این، آخرین نسخه از عنصری هست که داریم تعریفش میکنیم (کلاس، متد و...). حالا اگه اون عنصر کلاس باشه، یعنی اینکه دیگه نمیشه ازش کلاسی مشتق کرد و توسعه اش داد. پس با extends قابل گسترش و ارث بری نیست. اگه متد باشه، یعنی اینکه توی کلاسهای مشتق شده از کلاس والد (اگه خود کلاس final نباشه)، نمیشه متدی همنام با اون متد تعریف کرد و با کمک اون متد، متد جاری رو بازنویسی کرد. بازنویسی (Override) هم یکی از اصول چندریختی (Polymorphism) هست که بطور خلاصه میگه یک متد در کلاس والد، یکجور پیاده سازی شده باشه و در کلاس مشتق شده، یکجور دیگه (با همون نام) و درنتیجه وقتی متد رو روی اشیاء کلاس والد صدا بزنیم، یک کار انجام میده و وقتی همون متد رو روی اشیاء کلاس مشتق شده صدا میزنیم، یک کار دیگه.
امیدوارم خوب توضیح داده باشم. موفق باشید.