十三、物件導向程式設計

小胖鼠發表於2019-05-12

1、物件導向基本概念

物件導向的意義在於:

  • 將日常生活中習慣的思維方式引入程式設計中
  • 將需求中的概念直觀的對映到解決方案中
  • 以模組為中心構建可複用的軟體系統
  • 提高軟體產品的可維護性和可擴充套件性

類和物件是物件導向中的兩個基本概念

  • 類:指的是類事物,是一個抽象的概念
  • 物件:指的是屬於某個類的具體實體
  • 類是種模型,這種模型可以建立出不同的物件實體
  • 物件實體是類模型的一個具體例項

一個類可以有很多物件,而一個物件必然屬於某個類

類之間的基本關係

  • 繼承:

    • 從已存在類細分出來的類和原類之間具有繼承關係
    • 繼承的類(子類)擁有原類(父類)的所有屬性和行為
  • 組合

    • 一些類的存在必須依賴於其它的類,這種關係叫組合
    • 組合的類在某一個區域性上由其它的類組成

繼承是單向的,子類繼承父類所有的屬性和行為

#include <stdio.h>

struct Biology {
    bool living;
};

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

struct Plant : Biology {
    bool growable;
};

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

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


int main()
{
    return 0;
}

2、小結

類之間可以存在繼承關係或組合關係

繼承關係中子類擁有父類的一切屬性和行為

組合關係是類之間整體和部分的關係

類及類之間的關係可以有不同的表示法

編譯器對類的表示法有具體的要求

相關文章