【C++】 14_進階面向對象 (下)

面向對象的基本關係

類之間的基本關係編程

  • 繼承spa

    • 已存在類細分出來的類和原類之間具備繼承關係(is_a)
    • 繼承的類(子類)擁有原類(父類)的全部屬性和行爲
  • 組合設計

    • 一些類的存在必然依賴於其它的類,這種關係叫組合
    • 組合的類在某一局部上由其它的類組成

類之間的基本關係 - 繼承

clipboard.png

類之間的基本關係 - 組合

clipboard.png

類的表示法

clipboard.png

類的表示法 - 簡化

clipboard.png

問題:code

  1. 類之間的繼承沒有表示出來
  2. 繼承而來的屬性和行爲須要重複聲明

類的表示法 - 改進 1

clipboard.png

問題:
須要使用畫線來表示屬性和行爲,不適合於編程開發!對象

類的表示法 - 改進 2

clipboard.png

問題:
使用中文進行屬性和行爲的描述,絕大多數編譯器沒法接受!繼承

類的表示法 - 改進 3

clipboard.png

思考:
如何用程序設計中的概念描述類的屬性和行爲?ip

類的表示法 - 改進 4

clipboard.png

編程實驗:類的表示方法

#include <stdio.h>

struct Biology {
    bool living;
};

struct Animal : Biology {
    bool movable;
    void foidFood() { };
};

struct Plant : Biology {
    bool growable;
};

struct Beast : Animal {
    void sleep() { };
};

struct Human : Animal {
    void sleep() { };
    void work() { };
};

int main()
{
    return 0;
}
編譯無警告,無錯誤

小結

  • 類之間能夠存在繼承關係和組合關係
  • 繼承關係中子類擁有父類的一切屬性和行爲
  • 組合關係是類之間總體和部分的關係
  • 類及類之間的關係有不一樣的表示法
  • 編譯器對類的表示法有具體的要求

以上內容參考狄泰軟件學院系列課程,請你們保護原創!開發

相關文章
相關標籤/搜索