Где здесь можно применить наследование в Java? Нужна помощь, дали задание на рефакторинг данного кода, нужно применить наследование. Имеем предметную область автосалон. public class Car { public String name; public String bodyType; public int price; public String toString() { return name + "(" + bodyType + ")" + " - " + price + "$"; } } class HeavyCarInitializator extends Car { public static String[] names = { "DAF XF 105", "Volvo FH16", "Renault Magnum", "Mercedes Actros", "Scania S500", "ЗИЛ 157", "МАЗ 2021"}; private static final int[] price = {30000, 100000, 65000, 80000, 90000, 15000, 19000}; public static final String[] bodyType = {"Mixer","Truck","Garbage","Crane","Garbage","Crane","Truck"}; public static void init(Car[] HeavyCars) { for (int i = 0; i < HeavyCars.length; i++) { HeavyCars[i].name = names[i]; HeavyCars[i].price = price[i]; HeavyCars[i].bodyType = bodyType[i]; } } }

31 Мая 2021 в 20:09
447 +1
0
Ответы
1

Для применения наследования в данном случае можно создать класс HeavyCar, который будет наследоваться от класса Car. В классе HeavyCar можно оставить все свойства и методы класса Car, добавив дополнительные свойства и/или методы для тяжелых грузовиков.

Примерно так:

public class Car {
public String name;
public String bodyType;
public int price;
public String toString() {
return name + "(" + bodyType + ")" + " - " + price + "$";
}
}
class HeavyCar extends Car {
public static String[] names = { "DAF XF 105", "Volvo FH16", "Renault Magnum", "Mercedes Actros", "Scania S500", "ЗИЛ 157", "МАЗ 2021"};
private static final int[] prices = {30000, 100000, 65000, 80000, 90000, 15000, 19000};
public static final String[] bodyTypes = {"Mixer","Truck","Garbage","Crane","Garbage","Crane","Truck"};
public static void init(HeavyCar[] heavyCars) {
for (int i = 0; i < heavyCars.length; i++) {
heavyCars[i].name = names[i];
heavyCars[i].price = prices[i];
heavyCars[i].bodyType = bodyTypes[i];
}
}
}

Затем вы можете использовать класс HeavyCar для создания экземпляров тяжелых грузовиков и инициализации их свойств с помощью метода init.

17 Апр в 17:38
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 86 997 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир