天天看點

如何了解Python 面向對象程式設計思想

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方法 
    調用時:拿到門對象,調用門的開關門方法