اگر نمخواستیم که در کلاس vehicle پیاده سازی متد مربوط به interface را abstract تعریف کنیم آنوقت به چه شکلی باید تعریف میکردیم؟
سلام،
باید داخل کلاس implement اش میکردید یعنی کلمه abstract رو نمیذاشتید و بدنه ی متد رو همونجا تعریف میکردید.
افشیده کهنمویی۱۰ دی ۱۴۰۱، ۱۰:۰۲
خب مشکل اینه دقیقا نمیدونم باید چه چیزی بنویسم که جواب مثل فیلم بشه در نهایت.
اومدم توی خود کلاس vehicle کد زیر رو نوشتم اما اتفاقی که افتاد به تعداد خونههای آرایه همین عبارت چاپ شد و اصلا به کلاسهای car , student , boat نرفت و متدهای اونها رو اجرا نکرد
public void move()
{
Console.WriteLine("test");
}
بی بی خمسه۱۰ دی ۱۴۰۱، ۱۰:۲۰
اگر بخواید داخل subclassها هم پیاده سازی کنید دراین صورت چون داخل کلاس parent یعنی Vehicle پیاده سازی شده متدهای همنام داخل فرزندان hide میشه.
واسه پیاده سازی چندریختی یک راهش مثل ویدیو عمل میکنید و از abstract method استفاده میکنید و دیگری از طریق override کردن متد.
افشیده کهنمویی۱۰ دی ۱۴۰۱، ۱۱:۲۲
ممنون override کردم درست شد
بی بی خمسه۱۰ دی ۱۴۰۱، ۱۱:۵۴
البته در این مثال راه اصولی و منطقیش کدیه که استاد به روش abstract نوشتن.
ممنون میشم، تایید پاسخ صحیح رو بزنید تا تاپیک از حالت پیگیری خارج بشه.