如何在单一方法上实施两种税率?

时间:2017-10-04 07:45:49

标签: java

所以我对java很新,对getTax()方法感到困惑。

public class General extends Customer {

    private double taxRateTickets = .06;
    private double taxRateService = .04;

    public General(String customerCode, String type, Person contact, String name,
        Address address) {
        super(customerCode, type, contact, name, address);
        // TODO Auto-generated constructor stub
    }

    public double getTax() {
        return      
    }

    abstract public double discount();
    abstract public double additionalFee();
}

基本上我必须在另一个班级制作发票报告,我需要获得一般(子类)客户(超类)的税率。如果我有两种不同税率的产品,我如何在getTax()方法中为它们退税?

1 个答案:

答案 0 :(得分:2)

这听起来像是课堂作业,所以我只会把你推向正确的方向:看看用Java重载一个方法,你就会知道该怎么做。 你最终会得到两个名为getTaxes的方法,但是根据参数的类型,java选择了正确的方法。

还有一个更脏的解决方案:您只能使用一个getTaxes方法并使用instanceof来检查方法参数的类型。但我强烈建议不要这样做!