我对java非常陌生,为了让我的脚有点湿,我正在尝试为我的妻子和我建立一个简单的预算计划。我有很多课程,我仍在学习组织,但我对这个线程的主要问题是关于我的界面。
它看起来像这样:
package com.budgeter;
public interface Category {
void setPersonalLoan(int budget);
void setDonationsGifts(int budget);
void setRecreation(int budget);
void setHouseHoldItems(int budget);
void setUtilities(int budget);
void setSavings(int budget);
void setGroceries(int budget);
void setAutoInsurance(int budget);
void setAutoPayment(int budget);
void setHomeInsurance(int budget);
void setHomePayment(int budget);
}
我不知道这个界面是否根据最佳实践完成,但我的目标是有一种方法来定义一组类别。接下来,我有另一个名为BillCategory
的类,可用于添加自定义类别。同样,不确定这是否是使用界面的正确方法。
所以我以这种方式使用这个界面:
package com.budgeter;
public class Bills implements Category {
private Double amount;
private Double totalBills;
public Bills() {}
public Bills(double amount) {
setTotal(amount);
}
private void setTotal(Double amount) {
this.amount = amount;
totalBills = amount;
}
public Double getTotal() {
return totalBills;
}
@Override
public void setPersonalLoan(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setDonationsGifts(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setRecreation(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setHouseHoldItems(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setUtilities(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setSavings(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setGroceries(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setAutoInsurance(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setAutoPayment(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setHomeInsurance(int budget) {
// TODO Auto-generated method stub
}
@Override
public void setHomePayment(int budget) {
// TODO Auto-generated method stub
}
}
这是我BillCategory
用来添加新类别的类,但不完全确定如何将其与我的界面相关联:
package com.budgeter;
import java.util.HashMap;
import java.util.Map;
public class BillCategory {
private static Map<String, Integer> categories = new HashMap<String, Integer>();
public void addCategory(String categoryName, int frequency) {
categories.put(categoryName, frequency);
}
public Map<String, Integer> getCategories() {
return categories;
}
}
- 检查项目是否已设置然后为我的
getTotal()
方法计算所有项目的最有效方法是什么? - 我是否正确使用了界面?
- 我是否使用了良好的命名约定(例如类别)?
setTotalAmount()
我不确定是否应该传递引用amount
或设置amount
usingthis.amount = amount
然后全局访问它的方法。对此有最佳做法吗?- 将我的
BillCategory
课程与界面联系起来的最佳方式是什么?