سوالی برام پیش اومده این که چرا متودی که از نوع static تعریف میشه رو نمیشه Override کرد؟
سلام امیدوارم عالی باشید
برای متوجه شدن علت دقیق این موضوع مقاله رو به رو رو مطالعه کنید : لینک
نیک رهنما۲۳ شهریور ۱۴۰۱، ۰۸:۳۵
بله قبل از سوال پرسیدن سرچ کرده بودم اما طبق توضیحاتی که این وبسایت گفته نتونستم درک کنم واقعیت.
رهام عزیزی۲۳ شهریور ۱۴۰۱، ۱۰:۳۸
سلام ایدین جان
بفرمایید کجای این مقاله براتون گنگ بود تا توضیح بدم
نیک رهنما۲۶ شهریور ۱۴۰۱، ۱۴:۴۴
همان طور که عرض کردم دلیل اینکه وقتی یک متودی در Parent Class از نوع Static تعریف میشه در Child Class چرا نمیشه متود رو Override کرد؟
رهام عزیزی۳۰ شهریور ۱۴۰۱، ۱۷:۲۵
سلام،
ببینید این مسئله مربوط به زبان کامپایلری جاوا هست که داخل توضیحات لینکی که بالاتر اومده گفته شده عمل بازنویسی متد در زمان اجرا اتفاق میوفته:
No, we cannot override static methods because method overriding is based on dynamic binding at runtime and the static methods are bonded using static binding at compile time.
اما برای مثال در زبان تفسیری مثل php میتوان یک متد static رو override کرد.
در مورد runtime و compile time هم اگر اطلاعات بخواید میتونید گوگل کنید.