我有一个名为Orders的对象。在这个对象中,我有两个参数Vehicle和Customer。现在我有一个叫做showOrder的方法。此方法将打印车辆类型和客户姓名。
public void showOrder() {
System.out.println("-------------------------------------------------------|Order Placed|-------------------------------------------------------");
System.out.println("The order for the car type " + vehicle.getType() + " it was place on the name " + customer.getName() + " in date of " + date);
System.out.println("----------------------------------------------------------------------------------------------------------------------------");
}
假设在将来,我将在对象Order中添加一个新的Building属性。我现在如何改变这个方法,以便将来当我添加新属性时,可以使用它来显示建筑和车辆类型?它们都将实现Rentable接口。我的想法是,我想使这段代码尽可能通用和独立…
我希望我说得够清楚了。谢谢你,如果我理解正确,您希望能够将Vehicle
类型和Building
类型的对象放入变量vehicle
中。为此,你可以使用一个抽象的超类,Vehicle和Building类都将从它继承。它可能看起来像这样:
public abstract class AbstractClass {
public abstract String getType();
}
Vehicle类:
public class Vehicle extends AbstractClass {
String type;
public String getType() {
return type;
}
}
Building类看起来非常相似:
public class Building extends AbstractClass {
String type;
public String getType() {
return type;
}
}
现在,在Order
类中,需要将变量vehicle
的类型更改为AbstractClass
。这样,您就可以将Vehicle
类和Building
类的对象放入该变量中。showOrder
方法中的代码基本上与vehicle
对象中具有getType
方法的两个类保持相同。