次のようなタイプが与えられます。
class Thing {
getInfo();
isRemoteThing();
getRemoteLocation();
}
メソッドは、true を返すgetRemoteLocation()
場合にのみ定義済みの結果を持ちます。isRemoteThing()
ほとんどの s がリモートではないことを考えるとThing
、これは受け入れられる API ですか? 私が見るもう1つのオプションは、サブクラスを提供することですが、ユーザーは必要に応じてaをaRemoteThing
にキャストする方法が必要です。これは、問題に間接的なレベルを追加するようです.Thing
RemoteThing