私の C++ アプリケーションには、次のようなインターフェイスがあります。
class ICalculator
{
public:
virtual double calculateValue(double d) = 0;
};
次のようなこのインターフェイスの実装があります。
class MySpecificCalculator
{
public:
virtual double calculateValue(double d);
};
今、私の同僚はこれについて不平を言い、calculateValue メソッドを保護したほうがよいと私に言いました。そうすれば、呼び出し元が直接の実装ではなく、常にインターフェイスを介して渡されることを保証できます。
これは正しい観察ですか?インターフェイスの実装を保護する方が本当に良いのでしょうか? それとも非公開にすることすらできないのですか?