找到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和设定器可能会更容易。