发现Java过于复杂的语言。如果我的生活依赖于它,我无法弄清楚这种联想。我特意卡在Cab对象+拾取器(骑手:乘客):String。我知道它会返回一个字符串,这是我到目前为止的代码。
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;
}
}
如何编写(编程)这两个对象之间的关联?
答案 0 :(得分:0)
按照说明书中的说明:定义输入属性
private Passenger passenger;
之类的(我没有Java人)。
答案 1 :(得分:0)
如果要在两个类之间建立关联,通常会使用实例变量。在这种情况下,Cab
可以包含Passenger
。所以你想在Cab
类中拥有一个能够容纳Passenger
的实例变量。这可以这样做:
public class Cab {
Passenger passenger;
//...
}
在UML中显示的pickUp
方法中,您希望填充此变量,例如: G。像那样(不幸的是,没有规范该方法应返回的String):
public class Cab {
Passenger passenger;
//...
public String pickUp(Passenger rider) {
this.passenger = rider;
return "something";
}
}
调用方法pickUp
后,您可以通过其实例变量访问cab中的乘客。
我希望我能帮到你!
答案 2 :(得分:0)
通常,如果你有一个属性,你有getter / setter专用于设置和获取属性。
如果您有一个带有属性类型参数的方法(除了setter),那么这并不意味着该参数将设置该属性。
所以对我来说,删除方法拾取并在乘客上定义一个吸气剂和设定器可能更容易。