یک برنامهٔ جاوا بنویسید که با استفاده از ارث‌بری و چندریختی کلاس پایهٔ Animal با متد sound تعریف کند و سپس کلاس‌های Dog و Cat آن را بازنویسی (override) کنند، یک آرایه از نوع Animal شامل نمونه‌های Dog و Cat بسازید و با پیمایش آرایه متد sound را برای هر شی فراخوانی و چاپ کنید.

10.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:48

0.0

برای حل این مسئله کلاس Animal را با متدی مثل public void sound() تعریف کنید و سپس کلاس‌های Dog و Cat را با کلیدواژه extends از Animal بسازید و متد sound را با @Override بازنویسی کنید تا صدای مخصوص هر حیوان چاپ شود. در متد main یک آرایه یا لیست از نوع Animal حاوی نمونه‌های Dog و Cat ایجاد کنید و با یک حلقه (for یا enhanced for) متد sound را فراخوانی کنید تا چندریختی (dynamic dispatch) اجرا شود. نکته‌ها: از @Override استفاده کنید تا اشکال‌زدایی ساده‌تر شود، نیازی به تبدیل نوع (casting) نیست و از System.out.println برای نمایش خروجی بهره ببرید.

توسط پژوهشگر در 201 روز قبل ساعت 03:48
دسته بندی ها: Java Java for beginner
reyhaneh در 201 روز قبل ساعت 05:10

استفاده از ارث‌بری و چندریختی در جاوا به‌خوبی مفاهیم پایه را توضیح می‌دهد؛ اگر کلاس Animal را به یک کلاس abstract با متد abstract void sound() طراحی کنید، پیاده‌سازی‌های Dog و Cat الزاماً صدای خود را ارائه می‌دهند. با استفاده از گزینهٔ @Override در بازنویسی این متد، خطاهای مربوط به هم‌نامی را در زمان کامپایل کاهش می‌دهید و نگهداری کد ساده‌تر می‌شود. ایجاد یک آرایه یا لیست از نوع Animal که شامل Dog و Cat است، با upcasting انجام می‌شود و با یک حلقه for-each صدای هر حیوان را فراخوانی می‌کنید تا چندریختی به‌خوبی اجرا شود. نکته: برای نمایش خروجی از System.out.println استفاده کنید و نیازی به تبدیل نوع (casting) نیست.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری