マッピィ Techlog

日々思うこと

【C#】interfaceとは・その2

interface を自作してみます。
慣例として、interface 名は大文字のIから始めます。

また interface は定数、フィールド、演算子インスタンス コンストラクター、ファイナライザー、または型を含むことができません。
以下のプログラムはエラーになります。

public interface IInterfaceA
{
    int dummy;// これがダメ

    void Test();
}

class ClassA : IInterfaceA
{
    public void Test()
    {
    }
}

interface の特徴ですね。
継承はその機能を引き継いでいますが、インターフェイスはその「出入口」しか用意していないのです。

More Effective C# 6.0/7.0によると
継承は「AはBの一種である」、インターフェースは「AはBのように振る舞う」と述べています。

More Effective C# 6.0/7.0

More Effective C# 6.0/7.0