💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ حمیدرضا جلیلی
implamentation of interface in the vehicle class
جامعه ASP.NET ایجاد شده در ۱۰ دی ۱۴۰۱

سلام

اگر نمخواستیم که در کلاس vehicle پیاده سازی متد مربوط به interface را abstract تعریف کنیم آنوقت به چه شکلی باید تعریف میکردیم؟

سلام،

باید داخل کلاس implement اش میکردید یعنی کلمه abstract رو نمیذاشتید و بدنه ی متد رو همونجا تعریف میکردید.

محسن موحد ۱۰ دی ۱۴۰۱، ۱۰:۰۲

خب مشکل اینه دقیقا نمیدونم باید چه چیزی بنویسم که جواب مثل فیلم بشه در نهایت.

اومدم توی خود کلاس vehicle کد زیر رو نوشتم اما اتفاقی که افتاد به تعداد خونه‌های آرایه همین عبارت چاپ شد و اصلا به کلاس‌های car , student , boat نرفت و متد‌های اونها رو اجرا نکرد

public void move()

    {

      Console.WriteLine("test");

    }

حمیدرضا جلیلی ۱۰ دی ۱۴۰۱، ۱۰:۲۰

اگر بخواید داخل subclass‌ها هم پیاده سازی کنید دراین صورت چون داخل کلاس parent یعنی Vehicle پیاده سازی شده متدهای همنام داخل فرزندان hide میشه.

واسه پیاده سازی چندریختی یک راهش مثل ویدیو عمل میکنید و از abstract method استفاده میکنید و دیگری از طریق override کردن متد.

محسن موحد ۱۰ دی ۱۴۰۱، ۱۱:۲۲

ممنون override کردم درست شد

حمیدرضا جلیلی ۱۰ دی ۱۴۰۱، ۱۱:۵۴

البته در این مثال راه اصولی و منطقیش کدیه که استاد به روش abstract نوشتن.

ممنون میشم، تایید پاسخ صحیح رو بزنید تا تاپیک از حالت پیگیری خارج بشه.

بهترین پاسخ
محسن موحد ۱۰ دی ۱۴۰۱، ۱۳:۲۱