یکی از دستوراتی که در بحث ارث بری مورد استفاده قرار می گیرد دستور final است که هم در کلاس ها و هم در متدها مورد استفاده قرار می‌ گیرد.
کلاس هایی که بصورت final تعریف می‌شود این امکان که در کلاس فرزند به ارث برده شود وجود ندارد همچنین متد final نیز نمی توان در کلاس فرزند بازنویسی کرد و با خطای fatal error مواجه می شویم.
این به این معنی نیست که کلاس final قابلیت ساخت آبجکت را ندارد.پس می توان از روی آنها شی جدید ایجاد کرد.
در اصل متدها و کلاس هایی که بصورت final تعریف می شوند تنها تعریف شده اند و بدرد ارث بری نمی خورند و فقط می توان در حالت ساخت شی از آنها استفاده کرد.

 

خلاصه مفهوم final:

  • تنها بر روی کلاس ها و متدها مورد استفاده قرار می گیرد و خصوصیات قابل استفاده از این دستور نیستند.
  • می توان از روی کلاس final شی ساخت و به متد final دسترسی پیدا کرد.
  • کلاس یا متد final قابل ارث بردن و بازنویسی نیستند.

 

نحوه تعریف کلاس بصورت final

 

نحوه تعریف متد بصورت final

 

نمونه کلاس final که به ارث برده شده است

 

نمونه بازنویسی متدی که final است

 

نمونه ساخت شی از روی کلاسی که دارای متد final است

دیدگاه خود را بیان کنید

این ایمیل برای عموم منتشر نمی شود