Где здесь можно применить наследование в 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]; } } }
Для применения наследования в данном случае можно создать класс 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.
Для применения наследования в данном случае можно создать класс 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.