C# 介面

      在〈C# 介面〉中尚無留言

介面的作用

介面(interface)是為了歸屬相同性質但完全不相關的二個類別. 比如鳥和飛機, 是完全不相關的二個類別, 但確有相同的特性, 就是都會飛.

方式

下面代碼, 多了一個 interface Land這個介面, 表示要規範 Pikachu是一種陸地生物. 那麼在Pikachu類別後, 除了要繼承Pokemon外, 還要實作Land, 中間使 “,” 隔開

介面裏, 只能有抽象方法, 不可以有實体方法.

    interface Land {
        void setWalk();
    }
    abstract class Pokemon
    {
        public Pokemon()
        {
            Console.WriteLine("Pokemon出生");
        }
        abstract public void setLevel();
    }
    class Pikachu : Pokemon, Land
    {
        public Pikachu():base()
        {
            Console.WriteLine("皮卡丘出生");
        }

        public override void setLevel()
        {
            
        }

        public void setWalk()
        {
            throw new NotImplementedException();
        }
    }

權限

介面的抽象方法一定是abstract public, 但不能手動加入public abstract. 這一點跟Java不一樣, Java可以無聊的自已手動加.

實作介面的子類別, 也一定是public方法, 不可更改

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *