私はしばらく C# でソフトウェアを開発してきましたが、十分に活用できていない大きな領域の 1 つがインターフェイスです。実際、インターフェイスの使用方法や使用タイミングについてよく混乱します。たとえば、メソッドがインターフェイスを返すこと、インターフェイスをパラメーターとして受け取ること、インターフェイスから派生できることなどは知っています。この概念は、私にとっては明らかに弱点です。
インターフェースとそのさまざまな使用方法を詳細かつ明確に説明しているソース/チュートリアルを知っている人はいますか?
ベストアンサー1
説明
C# のインターフェースは、実行時ポリモーフィズムを実現する方法を提供します。インターフェースを使用すると、同じインターフェース参照を介して異なるクラスの関数を呼び出すことができます。一方、仮想関数を使用すると、同じ参照を介して同じ継承階層内の異なるクラスの関数を呼び出すことができます。
例えば:
public class FileLog : ILog
{
public void Log(string text)
{
// write text to a file
}
}
public class DatabaseLog : ILog
{
public void Log(string text)
{
// write text to the database
}
}
public interface ILog
{
void Log(string text);
}
public class SomeOtherClass
{
private ILog _logger;
public SomeOtherClass(ILog logger)
{
// I don't know if logger is the FileLog or DatabaseLog
// but I don't need to know either as long as its implementing ILog
this._logger = logger;
logger.Log("Hello World!");
}
}
チュートリアルをリクエストしました。