格力電器:競得銀隆新能源 30.47% 股權,將成為其控股股東
阿新 • • 發佈:2021-08-31
面向物件程式設計
面向物件程式設計:簡稱OOP。把物件作為程式的基本單元
面向過程的程式:計算機程式視為一系列命令集合
面向物件的程式:計算機程式視為一組物件的集合
- python中所有資料型別都可視為物件
- 面對物件是抽象出Class,根據Class建立Instance
類和物件
物件:某一具體事物的存在,可以直接使用
類: 將具有共同特徵和行為的一組物件抽象定義為類
物件和類的關係
- 類就是建立物件的模板
- 一個類可以找到多個物件
定義類:class 類名()
- object是python裡所有類最頂級的父類
- 類名的命名規則按照“大駝峰命名法”
- def 函式是例項方法,第一個引數一般是self,表示例項物件
- 可以根據已經定義的類去建立一個或多個物件
物件的屬性和方法
新增和獲取物件的屬性:
- 類外部新增物件屬性:物件名.屬性名 = 值
- 類外部獲取物件屬性:物件名.屬性名
通過self獲取物件屬性
- 類內部新增物件屬性:self.屬性名 = 值
- 類內部獲取物件屬性:self.屬性名
init方法
_init_()
方法,建立物件時預設被呼叫執行,不需要手動呼叫_init_(self)
中的self引數,不需要開發者傳遞,python直譯器會自動把當前物件引用傳遞過去- 一個類可以建立多個物件
_init_(self)
中,預設1個引數名字self,若建立物件時傳遞2個實參,除了第一個形參外還需要2個形參- 若類中有多個物件,每個物件的屬性是各自儲存的,但例項方法是共享的,只佔用一份記憶體空間
- 類會通過self來判斷是哪個物件呼叫了例項方法
繼承
繼承:描述多個類之間的所屬關係
若A裡的屬性和方法可以複用,可以通過繼承的方式傳遞到B裡。類A就是基類,也叫父類;類B是派生類,也叫子類。
class A(object):
def _init_(self):
...
def ...
class B(A):
def...
- 單繼承:子類只繼承一個父類
子類在繼承的時候,在定義類時,小括號中為父類的名字
- 父類的屬性、方法,會被繼承給子類
- 子類物件可以直接使用父類的屬性和方法
- 多繼承:子類繼承多個父類
- 多繼承可以繼承多個父類,也繼承了所有父類的屬性和方法
- 多個父類中,不重名的屬性和方法,不會有任何影響
- 當屬性和方法重名時,會先繼承寫在前面的父類
多型
多型:不同的子類物件呼叫相同的父類方法,產生不同的執行結果
優點:可以增加程式碼的外部呼叫的靈活度
- 多型以繼承和重寫父類方法為前提
- 多型是呼叫方法的技巧,不會影響到類的內部設計
模組
模組:一個.py檔案就是一個模組,模組是管理功能程式碼的
自定義模組:根據業務需要,自行建立
內建模組:python內部自帶的不需要下載的模組