1.1 面向對象基礎

1.1 面向對象基礎


返回目錄 1 面向對象技術
下一節 1.2 面向對象分析segmentfault


面向對象基本概念:spa

面向對象=對象(Object)+分類(Classification)+繼承(Inheritance)+經過消息的通訊(Communication with Messages)

採用上述四個基本概念進行開發的系統是面向對象的。設計

感受理論比較枯燥的,能夠直接跳轉到1.4開始實際操做。3d

  • 對象

    • 對象是系統中的基本運行實體,是代碼和數據的集合
    • 對象是類的實例化
    • 女友是對象、一對象棋也是對象;
    • 萬物皆對象。
  • 消息

    • 對象之間進行通訊的一種構造叫做消息;
    • 牛魔點擊[發起進攻]按鈕,韓信看到信號之後加入團戰。這種通訊機制稱爲消息傳遞
    • graph LR
         牛魔發送信息 --> 韓信收到信息
         韓信收到信息 --> 韓信解釋信息
         韓信解釋信息 --> 韓信執行操做

      clipboard.png

    • 發送消息的對象不須要知道接收消息的對象如何對請求予以響應。
    • 一個類定義了一組大致類似的對象;
    • 一個類所包含的方法和數據描述一組對象的共同行爲和原性;
    • 類是在對象之上的抽象,對象是類的具體化,是類的實例(Instance);
    • 類能夠分爲三種:code

      • 實體類

        • 人是實體類;
        • 柴犬是實體類;
        • 手機屏幕是實體類。
      • 接口類(邊界類)

        • 接口類(邊界類)的對象爲用戶提供一種與系統合做交互的方式,分爲人和系統兩大類;
        • 人的接口類像是二維碼、對話框之類;
        • 系統的接口用來與其餘系統交換數據。
      • 控制類

        • 控制類可以表示系統的動態行爲,處理主要的任務和控制流,因此它們能夠幫助理解系統
        • 控制類的對象用來控制活動流,充當協調者
    • 有些類之間存在通常和特殊關係,即一些類是某個類的特殊狀況,某個類是一些類的通常狀況:對象

      • 這是一種is-a關係,即特殊類是一種通常類
      • 特殊類是通常類的子類,通常類是特殊類的父類;
      • 人是一種通常類;
      • 男人和女人都是特殊類,他們繼承於人類;
      • graph TB
        人 --> 男人
        人 --> 女人

        clipboard.png

      • 同時人類也是另外一種通常類——哺乳動物類的特殊類。
    • 一般,把一個類和這個類的全部對象稱爲類及對象對象類
  • 繼承

    • 繼承是父類和子類之間共享數據和方法的機制;
    • graph LR
      父類=屬性1 --> 子類=屬性1+屬性2+...

clipboard.png

  • 好比父親有一棟房子A,繼承給了兒子,而後兒子又買了一套房子B。這時候兒子同時有了兩套房子。
  • C++能夠多重繼承
  • graph LR
      飛鳥 --> 僞裝這是一隻飛魚
      海魚 --> 僞裝這是一隻飛魚

clipboard.png

  • 多態

    • 多態就是不一樣的對象收到同一消息能夠產生徹底不一樣的結果
    • graph TB
      叫 --> 貓=喵喵喵
      叫 --> 狗=汪汪汪

clipboard.png

  • 動態綁定

    • 綁定是一個把過程調用響應調用所須要執行的代碼加以結合的過程;
    • 綁定是在編譯時進行的,叫做靜態綁定
    • 動態綁定是在運行時進行的;
    • 動態綁定是多態實現的具體形式

返回目錄 1 面向對象技術
下一節 1.2 面向對象分析blog


參考資料:繼承

  • 《軟件設計師教程》第五版
  • 百度百科
相關文章
相關標籤/搜索