我对某些事情有些困惑,如果大家都可以澄清一下,我将不胜感激。我有一个类付款,其中包含一些方法和获取器/设置器。
例如,我是使用ItemCost方法返回属性itemCost的阀门还是使用吸气剂?
public class Payment {
private int itemCost, totalCost;
public int itemCost(int itemQuantity, int itemPrice){
itemCost = itemPrice * itemQuantity;
return itemCost;
}
public int totalCost(BigDecimal itemPrice){
totalCost = totalCost + itemCost;
return totalCost;
}
public int getBalance(int clickValue, int totalCost){
totalCost = totalCost - clickValue;
return totalCost;
}
public int getTotalcost(){
return this.totalCost;
}
public void setTotalcost(int totalCost){
this.totalCost = totalCost;
}
public int getItemcost(){
return this.itemCost;
}
public void setItemcost(int itemCost){
this.itemCost = itemCost;
}
}
好的,所以不要实例化:
int成本=另一个类中的payment.itemCost(quantity,itemPrice)
要做的事情:payment.itemCost(数量,itemPrice)
payment.getItemcost
?
编辑2:是否会使所有方法都返回void并且仅使用getter会更好地进行编码?
public class Payment {
private int itemCost, totalCost;
public void calculateItemcost(int itemQuantity, int itemPrice){
itemCost = itemPrice * itemQuantity;
}
public void calculateTotalCost(BigDecimal itemPrice){
this.totalCost = totalCost + itemCost;
}
public void calculateBalance(int clickValue, int totalCost){
this.totalCost = totalCost - clickValue;
}
public int getTotalcost(){
return this.totalCost;
}
public void setTotalcost(int totalCost){
this.totalCost = totalCost;
}
public int getItemcost(){
return this.itemCost;
}
public void setItemcost(int itemCost){
this.itemCost = itemCost;
}
}
最佳答案
getter
/ setters
用于为对象中的特定属性设置值并从对象中获取值,这样您就可以将属性定义为私有并强制封装(OO原理之一)。
当您进行任何计算(或)业务逻辑时,最好使用适当的操作名称代替get / set。
编辑:
正如neel所说,它始终建议将POJO保留为简单的bean,而不要塞入业务逻辑/计算中。您可能还有另一个具有业务逻辑的类,并在执行计算时使用get / setter从POJO中获取值。