首页 > 解决方案 > 如何更新可用于 Java 中两个不同对象的方法

问题描述

我有一个名为 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 接口。我的想法是我想让这段代码尽可能通用和独立......

我希望我足够清楚。谢谢,

标签: javaoopgenerics

解决方案


如果我理解正确,您希望能够将Vehicletype 和Buildingtype 的对象放入 variable vehicle。为此,您可以使用 Vehicle 和 Building 类都将从中继承的抽象超类。它可能看起来像这样:

public abstract class AbstractClass {
    public abstract String getType();
}

车辆类:

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类中,您需要将变量的类型更改vehicleAbstractClass. 这样,您可以将Vehicle类和Building类的对象放入该变量中。您方法中的代码showOrder基本上与您可以放入vehicle对象的两个类都具有方法相同getType


推荐阅读