# 面向對象(OOP)基本概念
**面向對象編程** —— `Object Oriented Programming` 簡寫 `OOP`
## 目標
* 了解 **面向對象** 基本概念
## 01\. 面向對象基本概念
* 我們之前學習的編程方式就是 **面向過程** 的
* **面相過程** 和 **面相對象**,是兩種不同的 **編程方式**
* 對比 **面向過程** 的特點,可以更好地了解什么是 **面向對象**
### 1.1 過程和函數(科普)
* **過程** 是早期的一個編程概念
* **過程** 類似于函數,只能執行,但是沒有返回值
* **函數** 不僅能執行,還可以返回結果
### 1.2 面相過程 和 面相對象 基本概念
#### 1) **面相過程** —— **怎么做**?
1. 把完成某一個需求的 `所有步驟` `從頭到尾` 逐步實現
2. 根據開發需求,將某些 **功能獨立** 的代碼 **封裝** 成一個又一個 **函數**
3. 最后完成的代碼,就是順序地調用 **不同的函數**
**特點**
1. 注重 **步驟與過程**,不注重職責分工
2. 如果需求復雜,代碼會變得很復雜
3. **開發復雜項目,沒有固定的套路,開發難度很大!**
?
#### 2) **面向對象** —— **誰來做**?
> 相比較函數,**面向對象** 是 **更大** 的 **封裝**,根據 **職責** 在 **一個對象中 封裝 多個方法**
1. 在完成某一個需求前,首先確定 **職責** —— **要做的事情(方法)**
2. 根據 **職責** 確定不同的 **對象**,在 **對象** 內部封裝不同的 **方法**(多個)
3. 最后完成的代碼,就是順序地讓 **不同的對象** 調用 **不同的方法**
**特點**
1. 注重 **對象和職責**,不同的對象承擔不同的職責
2. 更加適合應對復雜的需求變化,**是專門應對復雜項目開發,提供的固定套路**
3. **需要在面向過程基礎上,再學習一些面向對象的語法**


?
?
- linux基礎
- 01_Python基礎課程安排
- 02_操作系統(科普章節)
- 03_操作系統的發展史(科普章節)
- 04_文件和目錄(理解)
- 05_Ubuntu圖形界面入門
- 06_常用Linux命令的基本使用
- 07_Linux終端命令格式
- 08_文件和目錄常用命令
- 09_遠程管理常用命令
- 10_用戶權限相關命令
- 11_系統信息相關命令
- 12_其他命令
- python基礎
- 01_認識 Python
- 02_第一個Python 程序
- 03_PyCharm的初始設置(知道)
- 04_多文件項目的演練
- 05_注釋
- 06_算數運算符
- 07_程序執行原理(科普)
- 08_變量的基本使用
- 09_變量的命名
- 10_判斷(if)語句
- 11_運算符
- 12_循環
- 13_函數基礎
- 14_高級變量類型
- 15_綜合應用——名片管理系統
- 16_變量進階(理解)
- 17_函數進階.md
- 面向對象
- 01_面向對象(OOP)基本概念
- 02_類和對象
- 03_面向對象基礎語法
- 04_面向對象封裝案例
- 05_面向對象封裝案例 II