<p>با سلام و قت بخیر</p><p>با توجه به صحبتهای استاد interface کلاس Abstract ای است که فقط متدهای abstract دارد.پس نباید بدنه داشته باشد یا حتی فیلد داشته باشد . درسته؟ اما برای آموزش interface و <span style=\"color: rgb(73, 94, 116);\">implements </span>کردن کلاس Animal میبینیم که هنوز متد Sleep در <span style=\"color: rgb(73, 94, 116);\">کلاس Animal بدنه </span>دارد . درسته که در کلاس Horse همه متدها و حتی فیلد را override میکنیم. <strong>سوال من این است که در کل باید این بدنه را حذف کنیم. </strong> یا اینکه نه، این بدنه را <strong>نگه داریم </strong>شاید کلاس دیگه ای بخواهد از آن extend کند. درسته. فقط دلیلش همین میتونه باشه؟ یعنی در زبان دارت کلمه کلیدی با عنوان interface نداریم. و فقط کلمات کلیدی implements و extends هستند که مشخص میکنه کلاس abstract در حال حاضر قراره چه نقشی بازی کنه. آیا آن لحظه abstract هست یا interface. </p><p>با سپاس از شما</p>