我有一項任務,我不太確定從哪裏開始。這是我應該做的。我需要幫助瞭解抽象類之間的關係
- 創建一個抽象類DiscountPolicy。它將有一個抽象方法computeDiscount,它將返回購買給定數量的單個項目的折扣。該方法有兩個參數,count(int)和itemCost(float)
- 從折扣策略派生類BulkDiscount。它將有一個構造函數,它有兩個參數,最小值和百分比。它將定義一個方法computeDiscount,以便如果購買某件商品的數量超過最小值,折扣就是該類別的百分比。 ComputeDiscount將返回總折扣。
- 從DiscountPolicy派生類BuyNItemsGetOneFree。該類將有一個具有單個參數n的構造函數。此外,該類將定義方法computeDiscount,以便每個第n個項目都是空閒的。例如:
- 如果n爲3且物料成本爲10美元。前兩項沒有折扣。項目3 - 5有10美元的折扣,第6件商品有20美元的折扣等。
- 對於BuyNItemsGetOneFree - computeDiscount方法將收到購買的物品總數和物品成本,並返回總計折扣(如適用)。
- 在您的主程序中,顯示computeDiscount方法適用於BulkDiscount和BuyNItemsGetOneFree類。
這就是我開始設置它的方式。我想讓我的方法和參數位於正確的位置,並且想知道我的老師想讓我通過哪些參數。
public class Ex1012 {
public static void main(String[] args) {
// TODO Auto-generated method stub
DiscountPolicy bulk = new BulkDiscount();
System.out.println();
DiscountPolicy bngo = new BuyNItemsGetOneFree();
}
}
public abstract class DiscountPolicy {
abstract void computeDiscount(int count, float itemCost){
return discount;
}
}
public class BuyNItemsGetOneFree extends DiscountPolicy {
BuyNItemsGetOneFree() {
}
BuyNItemsGetOneFree(int n){
DiscountPolicy.computeDiscount(int count, float itemCost);
//set n to a variable here??
//calculations go here
//Where to set count and itemCost??
}
}
public class BulkDiscount extends DiscountPolicy {
public BulkDiscount(int minimum, float percent){
if (quantity > minimum){
super.ComputeDiscount(int count, float itemCost);
//calculations go here
//Where to define count, itemCost, minimum, and percent??
}
}
}
我只是擔心類和參數之間的關係本身,因爲我有困惑,一旦我有這樣的多個類。任何有識之士將不勝感激。謝謝!
請確認後看起來不錯,在預覽窗口提交前。 – cwallenpoole
方法參數由方法的調用者提供。在這種情況下,由於您在'main'中創建對象,因此可能會提供參數。 – birryree