クラスの使用をそのインターフェースにロックする方法として、明示的なインターフェースを使用するための議論を見てきました。議論は、他の人にインターフェイスへのプログラミングを強制することで、クラスの分離を確実にし、テストを容易にすることができるというものです。
例:
public interface ICut
{
void Cut();
}
public class Knife : ICut
{
void ICut.Cut()
{
//Cut Something
}
}
そして、Knife オブジェクトを使用するには:
ICut obj = new Knife();
obj.Cut();
このインターフェイス実装方法をお勧めしますか? なぜですか、そうでないのですか?
編集:また、私が明示的なインターフェースを使用していることを考えると、以下は機能しません。
Knife obj = new Knife();
obj.Cut();