Python 面向對象程式設計思想
-
-
- 1. 寬泛的面向對象的概念 舉例說明
-
-
- 面向過程:做一件事情,從頭到尾,每一個細節都要關注,重點在于過程
- 面向對象:做一件事情,用對象去做,不關心細節和過程,萬物皆對象
-
- 2. python中面向對象
-
-
- 有類:描述一類事物,一個抽象的概念,比如:人、動物、水果
- 有對象:是類的具象化比如:張三、李四、貓、狗
-
- 3. python中面向對象的三大特征:
-
-
- 3.1 封裝:面向對象程式設計的第一步----->将 屬性和方法 封裝到一個抽象的 類 中
- 3.2 繼承:子類可以擁有父類的屬性和方法(減少代碼的書寫,提高代碼的閱讀性)
- 3.3 多态:一個對象的多種形态(一父多子)
-
- 4. 面向對象程式設計的設計
-
-
- 繼承體系設計 有什麼類 什麼屬性 封裝到什麼方法中去
-
-
從四個方面來聊面向對象
1. 寬泛的面向對象的概念 舉例說明
面向過程:做一件事情,從頭到尾,每一個細節都要關注,重點在于過程
從西安到北京:西安-鄭州-武漢-邯鄲-邢台-北京
面向對象:做一件事情,用對象去做,不關心細節和過程,萬物皆對象
從西安到北京: 坐動車到北京
2. python中面向對象
有類:描述一類事物,一個抽象的概念,比如:人、動物、水果
有對象:是類的具象化比如:張三、李四、貓、狗
特征(屬性)
功能行為(方法)
元類-類-對象
3. python中面向對象的三大特征:
3.1 封裝:面向對象程式設計的第一步----->将 屬性和方法 封裝到一個抽象的 類 中
外界使用 類 建立 對象,然後讓 對象 調用方法
對象方法的細節 都被 封裝 在 類的内部
3.2 繼承:子類可以擁有父類的屬性和方法(減少代碼的書寫,提高代碼的閱讀性)
單繼承
代碼的傳遞性:孫子類中可以使用爺爺類型的方法
多繼承
一個子類可以繼承多個父類
特點:子類擁有所有父類的屬性和方法
方法重寫:
概念:在子類中書寫和父類同名的方法
特點:在類中調用方法,如果在子類中找到,直接執行子類中的方法
如果子類中沒有找到這個方法,去父類中找,找到了就調用父類中的方法,
如果父類中沒有找到,則報錯
私有方法和屬性:
文法格式:
def __函數名(self):
def __init__(self):
self.__money = "自己猜"
特點:
不允許被外界通路,隻能自己使用
如果外界必須通路,那麼可以提供一個公共的方法,通路私有屬性
3.3 多态:一個對象的多種形态(一父多子)
作用:增強代碼的靈活性、提高代碼的擴充性
條件:繼承、方法的重寫
4. 面向對象程式設計的設計
繼承體系設計 有什麼類 什麼屬性 封裝到什麼方法中去
比如:門 鎖 人 ,把開門關門的方法 封裝在誰的類之中?
封裝在門的類之中,(誰擁有資料誰就擁有操作資料的權利)而人相當于一個main方法
調用時:拿到門對象,調用門的開關門方法