91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

接口和抽象類(一)

發布時間:2020-07-19 01:18:43 來源:網絡 閱讀:380 作者:ccandzy 欄目:編程語言

抽象類是帶有Abstract關鍵字的class,抽象類可以包含字段,屬性,普通方法,事件及特殊的抽象方法

接口是帶有interface關鍵字并封裝了對象一系列的行為,接口可以包含屬性,方法,但不能包含字段和委托。方法不包含具體實現,不帶public類似的關鍵字。

public class ApplePhone
    {
        public int Id { get; set; }
        public string Brand { get; set; }
        public void System()
        {
            Console.WriteLine("IOS");
        }
    }


public class Galaxy
    {
        public int Id { get; set; }
        public string Brand { get; set; }
        public void System()
        {
            Console.WriteLine("ANDROID");
        }
    }


 public class LumiaPhone
    {
        public int Id { get; set; }
        public string Brand { get; set; }
        public void System()
        {
            Console.WriteLine("WINDOWS PHONE");
        }
    }



這個時候就會大量的冗余代碼,我們應該建一個基類定義Id和Brand 這2個屬性,并定義一個抽象方法System(),為什么不定義虛方法,因為在這里每個子類的實現都不同的。所以最終我們應該建一個抽象類,如下

 public abstract class BasePhone
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public abstract void System();
    }
上面3個類繼承自BasePhone

 public class ApplePhone: BasePhone
    {
        public override void System()
        {
            Console.WriteLine("IOS");
        }
    }
    
     public class Galaxy:BasePhone
    {
        public override void System()
        {
            Console.WriteLine("ANDROID");
        }
    }
    
      public class LumiaPhone:BasePhone
    {
        public override void System()
        {
            Console.WriteLine("WINDOWS PHONE");
        }
    }
    
    手機還有玩游戲功能,這個時候我們不應該在BasePhone加一個玩游戲的方法,因為玩游戲就是一種行為
    除了手機能玩游戲,電腦,平板都能玩游戲,那么這個時候我們就應該把玩游戲抽象成接口,而手機
    則實現了這個接口。
    //定義一個玩游戲的接口
    public interface IGame
    {
        void Game();
    }
public class LumiaPhone:BasePhone,IGame
    {
        public override void System()
        {
            Console.WriteLine("WINDOWS PHONE");
        }
        public  void Game()
        {
            Console.WriteLine("play WINDOWS PHONE games");
        }
    }


其他二個子類也是同樣實現玩游戲功能,同樣手機還有上網等等功能,但上網并不是手機獨有的行為,所以我們可以增加一個IOnline接口,接口是可以實現多個的,而類只能繼承一個。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙游县| 临朐县| 武夷山市| 玛多县| 西乌珠穆沁旗| 大悟县| 张家川| 清涧县| 双柏县| 洮南市| 同心县| 从化市| 莎车县| 清水河县| 荣成市| 航空| 辽宁省| 安化县| 乐业县| 开阳县| 景宁| 合阳县| 泾源县| 韩城市| 金沙县| 贡嘎县| 洛川县| 北流市| 大丰市| 融水| 宜章县| 太湖县| 天祝| 开鲁县| 洛隆县| 巴塘县| 泰宁县| 通渭县| 舒兰市| 株洲市| 从江县|