為什么是return this.getTotalPrice();,不寫成return sum;
public double calTotalPrice(){
double sum=0.0;
Set<Items> keys=goods.keySet();//獲取鍵的集合
Iterator<Items> it=keys.iterator();//獲得迭代器對(duì)象
while(it.hasNext()){
Items i=it.next();
sum +=i.getPrice()*goods.get(i);
}
this.setTotalPrice(sum);
return this.getTotalPrice();
?
}
上述方法:
1)為什么是return this.getTotalPrice();,不寫成return sum;?
2)Cart類屬性里面已經(jīng)有double totalPrice這個(gè)屬性了,干嘛還要定義一個(gè)局部變量sum,不可以直接用double totalPrice計(jì)算嗎?
2018-05-30
直接返回sum ?屬性?totalPrice 里就沒(méi)有值了 ?其他地方要用到的話就不方便了;
第二個(gè)問(wèn)題你去看看JavaBean 這是一種規(guī)范。屬性一般設(shè)為私有 不可直接調(diào)用,只能通過(guò)set get 方法來(lái)操作。
2017-12-19
第一個(gè)問(wèn)題:我覺得return this.getTotalPrice();return sum,沒(méi)什么大區(qū)別,這樣寫就能用兩個(gè)方法訪問(wèn)總價(jià)格而已。
第二個(gè)問(wèn)題:sum是局部變量,totalPrice是全局的,其他方法不能修改sum,這樣安全。而totalPrice其他方法可以隨意修改,不安全。
2017-10-12
這是由于總價(jià)格進(jìn)行了包裝,訪問(wèn)時(shí),需要用包裝后的訪問(wèn)方法,否則直接用sum返回,一是,不規(guī)范,二是:不安全