在我的 C++ 应用程序中,我有一个如下所示的界面:
class ICalculator
{
public:
virtual double calculateValue(double d) = 0;
};
我有这个接口的实现,如下所示:
class MySpecificCalculator
{
public:
virtual double calculateValue(double d);
};
现在我的同事抱怨这个并告诉我最好保护 calculateValue 方法。这样,我们可以保证调用者总是通过接口而不是直接实现。
这是一个正确的观察吗?保护接口的实现真的更好吗?或者我们甚至不能将其设为私有吗?