爪哇协会问题



找到Java是一种过于复杂的语言。如果我的生活取决于它,我无法弄清楚这种关联的事情。我专门卡在驾驶室对象 拾音器(骑手:乘客):字符串。我知道它将返回一个字符串,这是我到目前为止的代码。

UML图

package cabsimulation;

public class Cab {
private double companyTotalFare;
private double rate;
private double taxiTotalFare;
private int tripCounter;
private int cabID;
public Cab(int cabID){}
    public double dropOff(int minutes){
        return minutes*rate;
    }
    public double endOfShift(){
        double sumOfFares = taxiTotalFare + companyTotalFare;
        return sumOfFares;
    }
    //public String report();
    public double getRate(){
        return rate;
    }
    public void setRate(double cabRate){
        this.rate = cabRate;
    }
}

public class Passenger {
    private final double weight;
    private final boolean inFrontSeat;
    public Passenger (double weight, boolean front){
        this.weight = weight;
        this.inFrontSeat = front;
    }
    public double getWeight(){
        return weight;
    }
    public boolean isInFrontSeat(){
        return inFrontSeat;
    }
}

如何编写这两个对象之间的关联?

您的说明中写的:定义一个键入属性

private Passenger passenger;

或类似(我不是Java Guy)。

当您想在两个类之间建立关联时,通常会使用一个实例变量。在这种情况下,Cab可以包含Passenger。因此,您需要在Cab类中具有一个能够保存Passenger的实例变量。可以这样做:

public class Cab {
    Passenger passenger;
    //...
}

在UML中显示的pickUp方法中,您想填充此变量,e。G。这样(不幸的是,没有规格该方法应返回哪个字符串):

public class Cab {
    Passenger passenger;
    //...
    public String pickUp(Passenger rider) {
        this.passenger = rider;
        return "something";
    }
}

调用方法pickUp后,您可以通过其实例变量访问乘客。

我希望我能为您提供帮助!

通常,如果您有一个属性,则具有专用于设置和获取属性的Getter/Setter。

如果您具有具有属性类型的参数的方法(设置器除外),则并不意味着该参数将设置属性。

因此,对我来说,删除方法拾取并在乘客上定义getter和设定器可能会更容易。

最新更新