C++——談談你對物件導向程式設計的認識
物件導向程式設計的特點:封裝、繼承、多型
面對一個問題的時候要把這個問題解決掉,我們有兩種思路;一種是按過程來一步一步的來執行,直到完成最後的問題,這是一種程式導向的思考方法;另一種是按物件來分類,將問題看成是若干個事物的組合;
例項分析:
比如我們在Linux下用C語言來實現多執行緒(多程式)程式設計的時候,我們需要呼叫標準的多執行緒相關的函式,比如:建立執行緒函式,等待執行緒函式,設定執行緒屬性函式,退出執行緒函式,獲得執行緒ID函式,獲得執行緒屬性函式......
第一種方法:
在建立一個執行緒的時候首先呼叫初始化執行緒屬性的函式,然後呼叫建立執行緒的函式,再呼叫等待執行緒退出的函式......在建立另一個執行緒的時候也呼叫初始化執行緒屬性的函式,然後呼叫建立執行緒的函式,再呼叫等待執行緒退出的函式......
參考本部落格:http://blog.csdn.net/linux_ever/article/details/50326397
第二種方法:
將所有與執行緒相關的函式封裝成一個類,在這個類裡面有與執行緒有關的資料,比如:執行緒ID,執行緒屬性;在這個類裡面還有與執行緒有關的方法(將建立執行緒的API函式封裝成方法),比如:建立執行緒函式create,設定執行緒屬性函式set_attr,獲得執行緒屬性函式get_attr,退出執行緒函式exit,等待執行緒函式wait.....這樣我們在建立一個執行緒的時候直接用剛才的那個執行緒類建立一個物件就是建立了一個執行緒ThreadObj,然後建立執行緒呼叫ThreadObj.create(),
設定執行緒屬性呼叫ThreadObj.set_attr(),獲得執行緒屬性呼叫ThreadObj.get_attr(),退出執行緒呼叫ThreadObj.exit(),等待執行緒呼叫ThreadObj.wait();
再建立一個執行緒的時候還用剛才的那個執行緒類建立另一個物件ThreadObj_2;然後還呼叫相應的類方法;
參考本部落格:http://blog.csdn.net/linux_ever/article/details/50299045
封裝:就是將一個事物的屬性和行為進行封裝;還通過private,public,protected關鍵字來限制屬性和行為方法的許可權,來決定暴露給外界的介面方法;
繼承:就是得到另一個事物的共同點,比如相同的屬性和相同的行為;繼承之後就屬於該事物自身的屬性和方法了就可以直接使用;
多型:包括過載和重寫方法;相同名字的方法靠不同的引數列表來區分呼叫哪一個方法這是函式過載;當子類繼承父類的方法之後,但是父類的方法不是特別適合子類的行為,則應該重寫繼承的該方法;
總結:
物件導向程式設計是將問題看做是若干個事物之間相互作用,首先抽象各個事物的屬性和行為並進行封裝,然後在建立各個物件,各個物件之間通過各自的方法來影響,或事物之間可能也存在繼承或包含的關係;
相關文章
- 淺談PHP物件導向程式設計PHP物件程式設計
- 面試——談談你對Java 物件導向思想的理解面試Java物件
- 談談我對物件導向以及類與物件的理解物件
- 物件導向程式設計C++物件程式設計C++
- 面試官:談談你對mysql索引的認識?面試MySql索引
- 淺談JS物件導向JS物件
- C++模組2:物件導向程式設計C++物件程式設計
- C++物件導向程式設計_Part1C++物件程式設計
- 物件導向程式設計(C++篇4)——RAII物件程式設計C++AI
- 談談對程式設計師的管理程式設計師
- 物件導向程式設計物件程式設計
- 物件導向程式設計(C++篇2)——構造物件程式設計C++
- 物件導向程式設計(C++篇3)——析構物件程式設計C++
- C++ 物件導向高階設計C++物件
- javascript:物件導向的程式設計JavaScript物件程式設計
- JS物件導向的程式設計JS物件程式設計
- Scala的物件導向程式設計物件程式設計
- 【雜談】對CopyOnWriteArrayList的認識
- <<從0到1學C++>> 第2篇 認識C++程式導向程式設計的特點C++程式設計
- Python物件導向程式設計Python物件程式設計
- 程式設計思想 物件導向程式設計物件
- js物件導向程式設計JS物件程式設計
- 十三、物件導向程式設計物件程式設計
- 十六、物件導向程式設計物件程式設計
- Python 物件導向程式設計Python物件程式設計
- C++ 遞迴與物件導向程式設計基礎C++遞迴物件程式設計
- 如何寫工程程式碼——重新認識物件導向物件
- JS物件導向程式設計(一):物件JS物件程式設計
- 請用物件導向的思想,談一談面試的過程物件面試
- [筆記]物件導向的程式設計筆記物件程式設計
- C++物件導向程式設計——遞迴實現字串的反序C++物件程式設計遞迴字串
- 談談對資料架構的幾點認識架構
- day09_認識物件導向物件
- 再和“物件導向”談戀愛 - 物件簡介物件
- Python OOP 物件導向程式設計PythonOOP物件程式設計
- python技能--物件導向程式設計Python物件程式設計
- Javascript 物件導向程式設計(一)JavaScript物件程式設計
- Javascript 物件導向程式設計(二)JavaScript物件程式設計
- Javascript 物件導向程式設計(三)JavaScript物件程式設計