我正在为一个程序编写一个类,现在我需要添加一个方法来提出延迟的费用。这是在每种类型的电影类型之间花费不同的东西,但是我将在这里使用的将是具有默认延迟费用的戏剧类型(该变量在不同的类中,也是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);
}
我认为我的方法不正确。
答案 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);
}
}