从OOP的术语到将基类的通用方法放在基类中是正确的,其中base不会(!)使用它。如示例所示:
class Base {
virtual void CalculateTotal()
{
//calculate without taxes (no need in base)
}
void CalculateTaxes()
{
//do something
}
}
class A : Base {
override void CalculateTotal() {
//...
CalculateTaxes();
//...
}
}
class B : Base {
override void CalculateTotal() {
//...
CalculateTaxes();
//...
}
}
答案 0 :(得分:0)
我想不是。 我宁愿将CalculateTaxes放在A和B使用的实用程序类中。 Es tax.Calculate()
或类似的东西。
答案 1 :(得分:0)
如果没有用于计算总值的默认功能,并且从Base
派生的每个类应该提供它,那么最好使Base
类和CalculateTotal
方法抽象化。< / p>