带有Orders和CreditOrders问题的Java继承
SMC接受客户的订单和信用订单。对于订单,客户提前支付订单价值。对于贷记订单,SMC将订单的全部美元价值贷记给客户(换句话说,客户不应提前支付订购的产品)。对于信用订单,客户和SMC代表在交付订单物品时,就客户将在订单美元价值基础上支付的利息(占订单价值的百分比)进行协商。利息值范围应介于10和20之间 对于第一部分,我认为我做得正确。(类顺序定义了实例变量orderId、clientName和orderValue。它还定义了一个带参数的构造函数、实例变量的toString方法和get/set类型方法。) 然后对于第二部分,我感到困惑,这就是我到目前为止所做的。(类CreditOrder继承类顺序。此类继承类顺序的实例变量并定义其特定的实例变量兴趣。它还定义了带参数的构造函数、实例变量兴趣的get/set方法、新方法getCreditOrderTotalValue并重写方法toString。)我不确定兴趣是否正确完成,也不确定如何使用“getCreditOrderTotalValue”和重写toString方法带有Orders和CreditOrders问题的Java继承,java,inheritance,Java,Inheritance,SMC接受客户的订单和信用订单。对于订单,客户提前支付订单价值。对于贷记订单,SMC将订单的全部美元价值贷记给客户(换句话说,客户不应提前支付订购的产品)。对于信用订单,客户和SMC代表在交付订单物品时,就客户将在订单美元价值基础上支付的利息(占订单价值的百分比)进行协商。利息值范围应介于10和20之间 对于第一部分,我认为我做得正确。(类顺序定义了实例变量orderId、clientName和orderValue。它还定义了一个带参数的构造函数、实例变量的toString方法和get/set类
public class CreditOrder extends Order {
public int interest;
public CreditOrder(int orderId, String clientName, int orderValue) {
super(orderId, clientName, orderValue);
}
/**
* @return the interest
*/
public int getInterest() {
return interest;
}
/**
* @param interest
* the interest to set
*/
public void setInterest(int interest) {
this.interest = interest;
}
//getCreditOrderTotalValue
//toString
}
首先,您需要清楚继承和面向对象范例中的工作方式。toString()方法来自java.lang.object,默认情况下自动继承到所有对象。以及在实现继承(受保护)的情况下正确使用访问说明符 因此,如果允许我建议对班级结构进行一些改变,那将是
public class Order {
private int orderValue;
//getters and setters, make protected
public Order(int orderValue) {
this.orderValue = orderValue;
}
protected int calculateOrderValue() {
return this.orderValue;
}
}
public class CreditOrder extends Order {
private int orderValue;
private float interestRate;
//getters and setters for interestRate
public CreditOrder(int orderValue, float interestRate) {
super(orderValue);
this.orderValue = orderValue;
this.interestRate = interestRate;
}
public int calculateOrderValue() {
return getOrderValue() * getInterestRate();
}
}
您好,我再也看不到您的修改和我的评论了。发生了什么事?我刚刚摆脱了它,因为它似乎是错误的。我仍在试图计算信贷订单的SMC信贷客户与订单的全部美元价值(换句话说,客户不应提前支付订购的产品)。对于信用订单,客户和SMC代表在交付订单物品时,在订单美元价值的基础上协商客户将支付的利息(占订单价值的百分比)。利息价值范围应在10到20之间。
public class Order {
private int orderValue;
//getters and setters, make protected
public Order(int orderValue) {
this.orderValue = orderValue;
}
protected int calculateOrderValue() {
return this.orderValue;
}
}
public class CreditOrder extends Order {
private int orderValue;
private float interestRate;
//getters and setters for interestRate
public CreditOrder(int orderValue, float interestRate) {
super(orderValue);
this.orderValue = orderValue;
this.interestRate = interestRate;
}
public int calculateOrderValue() {
return getOrderValue() * getInterestRate();
}
}