* **7.1 類和實例**
* **7.1.1 類**
* **7.1.2 實例變量和類變量**
* **7.1.3 類的方法**
* **7.2 面向對象編程有三大重要特征**
* **7.2.1 封裝**
* **7.2.2 繼承**
* **7.2.3 多態**
* **7.3 成員保護和訪問限制**
* **7.4 特殊成員和魔法方法**
面向對象編程:`Object Oriented Programming`,簡稱`OOP`,是一種程序設計方法。
## **面向對象和面向過程的區別**
```
完成自我介紹功能,面向過程完成功能
stu_a = {
"name":"A"
"age":18,
"hometown":"東北"
}
stu_b = {
"name":"B"
"age":19,
"hometown":"山東"
}
stu_c = {
"name":"C"
"age":20,
"hometown":"河北"
}
def stu_info(stu):
# 自我介紹
for key,value in stu.items():
print("key=%s,value=%d"%(key,value))
stu_info(stu_a)
stu_info(stu_b)
stu_info(stu_c)
# 接下來我們用面向對象的思想來完成功能
stu_a = Student(個人信息)
stu_b = Student(個人信息)
stu_c = Student(個人信息)
stu_a.info()
stu_b.info()
stu_c.info()
# 文件讀寫
f = open(path,'r')
f.read()
f.close()
```
面向過程:根據業務邏輯從上到下寫代碼,要面面俱到都要思考到
面向對象:將數據與函數綁定到一起,進行封裝。減少重復代碼的重寫過程,找一個能完成這個功能的哥們來完成
面向對象和面向過程都是解決問題的一種思路而已。
## **概念及術語**
- **類(Class)**: 用來描述具有相同屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。其中的對象被稱作類的實例。
- **實例**: 也稱對象。通過類定義的初始化方法,賦予具體的值,成為一個"有血有肉的實體"。
- **實例化**: 創建類的實例的過程或操作。
- **實例變量**: 定義在實例中的變量,只作用于當前實例。
- **類變量**: 類變量是所有實例公有的變量。類變量定義在類中,但在方法體之外。
- **數據成員**: 類變量、實例變量、方法、類方法、靜態方法和屬性等的統稱。
- **方法**: 類中定義的函數。
- **靜態方法**: 不需要實例化就可以由類執行的方法
- **類方法**: 類方法是將類本身作為對象進行操作的方法。
- **方法重寫**: 如果從父類繼承的方法不能滿足子類的需求,可以對父類的方法進行改寫,這個過程也稱override。
- **封裝**: 將內部實現包裹起來,對外透明,提供api接口進行調用的機制
- **繼承**: 即一個派生類(derived class)繼承父類(base class)的變量和方法。
- **多態**: 根據對象類型的不同以不同的方式進行處理。
- 邏輯教育-Python編程:零基礎到入門
- 版權聲明
- 第1章 Python環境搭建
- 1.1-Python介紹
- 1.2-編譯器與解釋器
- 1.3-Python環境搭建
- 1.4-pip的介紹和使用
- 1.5-代碼編輯器
- 第2章 Python基礎
- 2.1-基礎語法
- 2.2-變量與常量
- 2.3-輸入和輸出
- 2.4-運算符
- 第3章 Python數據類型
- 3.1-數據類型
- 3.2-數字類型
- 3.3-布爾類型
- 3.4-列表
- 3.5-元組
- 3.6-字典
- 3.7-bytes
- 3.8-集合
- 第4章 Python流程控制
- 4.1-順序執行
- 4.2-條件判斷
- 4.3-循環控制
- 第5章 Python函數
- 5.1-range函數
- 5.2-匿名函數
- 5.3-推導式
- 5.4-迭代器
- 5.5-生成器
- 5.6-裝飾器
- 5.7-內置函數
- 第6章 Python文件讀寫
- 6.1-文件類型
- 6.2-文件的基礎操作
- 6.3-文件對象操作
- 第7章 面向對象編程
- 7.1-類和實例
- 7.2-封裝、繼承和多態
- 7.3-成員保護和訪問限制
- 7.4-特殊成員和魔法方法
- 作業一
- 作業二
- 作業三
- 作業四
- 作業五
- 作業六
- 作業七