《面向對象程序設計——C++語言描述》學習筆記(一)
第一章 面向對象編程編程
1.1 面向過程和麪向對象的編程風格後端
- 面向過程的編程風格:程序是由模塊構成的,一個模塊就是一個過程,C++是C語言發展而來的,所以C++在某種意義上也是面向過程語言。同時面向過程語言是自頂向下設計的,也就是將一個大問題不斷分解成小問題,而後每一個小問題就是一個過程,或者說函數。所以這樣的編程風格有一個問題就是不方便後期維護,一旦需求有變或者串聯改變時,修改維護的工程量比較大。
- 面向對象的編程風格:面向對象中構成模塊的基本單元是類,不是過程。類能夠理解爲是對象的集合。一個類裏面包含兩個屬性,分別是靜態屬性和動態屬性(我的通俗的分類,方便記憶)。靜態屬性就是咱們說的屬性或者變量,動態屬性是指方法或者過程或者操做。面向對象的編程中如何設計類是重點,也是基礎。同時,類與類之間的關係、類與對象之間的關係也是面向對象編程的重要內容,咱們統稱爲關係。
1.2類和抽象數據類型(有待後續理解)服務器
- 信息隱藏:C++中由接口和實現兩個概念,接口是公有(public)的,也就是用戶可見的,實現是私有的(private),也就是用戶不可見的。 這樣作的好處是能夠對部分信息進行私有隱藏,修改的話不影響公有接口的使用,這樣能夠保證維護時不影響用戶的使用。
- 封裝:把數據和處理數據的過程封裝在一塊兒就造成了類,說白了就是將這些信息封裝在一塊兒,方便對象使用。
- 抽象數據類型:當一個數據類型將接口暴露出來,將實現隱藏起來,咱們就稱這類數據類型爲抽象數據類型。計算機中抽象的概念很是重要,這樣的思想很是有利於面向對象編程。
1.3客戶/服務器模式和消息傳遞函數
- 客戶/服務器模式:面向對象程序中,類和對象能夠理解爲服務器,而使用類和對象的模塊理解爲客戶。
- 消息傳遞:通常來講,使用類或者對象的模塊在調用函數的時候採用的就是消息傳遞的機制,經過這個機制來獲取客戶所需的服務。而具體這個服務是如何實現的,客戶是不關心的,它關心的只是它要的服務是否實現。
1.4繼承和多態spa
- 繼承:繼承的層次是由一些具備父子關係的類組成。所謂的繼承,是子類繼承父類全部的特色,包括父類的全部變量和操做,同時在此基礎上,子類能夠擁有一些只屬於本身的變量和操做。同時在C++中支持多重繼承,也就是說一個子類能夠由多個父類。
- 多態:多個不一樣的類中能夠擁有相同的函數,好比window類中有display函數,messagewindow類中也能夠有display函數,而使用的時候直接用w.display()就能夠實現對應的功能,其中w能夠是window或者messagewindow。判讀w是指向哪一個對象不是用戶的事情,而是系統來完成的。
1.5接口和組件設計
- 接口:類暴露出來的部分稱爲接口,是用戶能夠進行調用的,經過接口能夠實現對應的功能,而接口裏面的東西是隱藏的,也是用戶不須要關心的。
- 組件:組件是接口的後端服務者。軟件組件跟硬件組件相似,軟件中的容器跟硬件中的總線相似。組件和容器的有機結合構成了程序。
歡迎關注本站公眾號,獲取更多信息