如何输入此方法来计算成本

时间:2011-04-28 06:43:38

标签: java

我正在为一个程序编写一个类,现在我需要添加一个方法来提出延迟的费用。这是在每种类型的电影类型之间花费不同的东西,但是我将在这里使用的将是具有默认延迟费用的戏剧类型(该变量在不同的类中,也是dayLate变量在另一个类中)

无论如何,我需要做的就是这样做,以便该方法将其加起来,就像迟到的天数乘以费用一样。现在我有这个,但我得到一个编译错误(如果重要的话,带有dayLate变量的类还没有完成或编译)

无论如何这里是戏剧类源代码

class Drama extends Movie
{
    public Drama()
    {
        super();
    }
    public Drama(String rating, int IDnumber, String MovieTitle)
    {
        super(rating, IDnumber, MovieTitle);
    }
    public double CalcLateFees(Fee * dayLate);
}

我认为我的方法不正确。

4 个答案:

答案 0 :(得分:1)

您无法在方法的原型中编写逻辑,而是应该将值作为参数接收并执行逻辑并返回如下所示的值:

public double CalcLateFees(double fee, double dayLate) {

return (fee * dayLate);

}

答案 1 :(得分:0)

Java不使用指针只使用引用

所以改变这个

public double CalcLateFees(Fee * dayLate);

public double CalcLateFees(Fee  dayLate);

还要确保Movie类具有默认的const和const (String rating, int IDnumber, String MovieTitle)参数

答案 2 :(得分:0)

赞成合成而不是继承。尝试在电影类中使用流派属性。类型课程可以收取费用。

答案 3 :(得分:0)

切换(yourChoice){

案例1: 如何实现CalclateFees方法:

public double CalcLateFees(Fee dayLate) {
   double fee = 0;
   ....
   return fee;
}

案例2: 将CalclateFees方法声明为abstract:

public abstract double CalcLateFees(Fee  dayLate);

案例3: 让Fee类处理计算:

public double CalcLateFees(Fee  dayLate) {
    return dayLate.calc(this);
}

}