با سلام ما وقتی از Abstraction استفاده میکنیم در حقیقت در child classمیایم متد را Override میکنیم خوب چرا اینکار را میکنیم چرا همون اول از Override استفاده نمیکنیم بدون استفاده از کیبورد abstract؟
سلام وقت شما بخیر
این دو مورد از نظر مفهمومی کاملا متفاوت هستند. وقتی شما متدی رو abstract اعلام میکنید یعنی پیاده سازی این متد در کلاس فرزند اجباری میشود در حالی که اگر آن متد abstract نباشد نیازی به پیاده سازی در کللاس فرزند ندارد یعنی override کردن آن متد در کلاس فرزند اختیاری میشود کلاس فرزند میتواند آن را دوباره پیاده سازی کند یا پیاده سازی مجدد انجام ندهد.
یکی از اهداف abstract کردن یک متد انتزاع و پیاده سازیهای مختلف در کلاس فرزندان به صورت اجباری میباشد.