介面的作用
介面(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方法, 不可更改