6.面向對象
面向對象的三大特性:繼承、封裝、多態
6.1類的定義
語法:class 類名(object):
#屬性
#方法
def 方法名(self):
xxxxxx
注意:
(1)類名的小括號裏寫的是將來要集成的父類,默認繼承object
(2)類名的命名規則一般採用大駝峯
(3)類的成員既可以是變量也可以是函數
(4)父類又被稱爲基類,子類又被稱爲派生類
6.2對象的創建
(1)用已有的類去實例化就可以得到一個對象
語法:對象名 = 類名()
(2)實例屬性
對象名.新的屬性名 = 值
(3)調用對象的方法(方法已在類中定義)
語法:對象名.方法名()
總結:
獲取對象的屬性的兩種方法:
(1)對象名.屬性
(2)定義一個方法,在這個方法中,使用self.屬性
6.3默認實例屬性
__xxxx__():魔法方法 -- 內置的,默認就帶有相應的功能的函數
(1)__init__:類裏面默認自帶的一個方法,對對象進行初始化時用----對象默認方法。在創建對象的同時自動調用,不用手動調用
語法:def __init__(self):
xxxxxx
注意:__init__(self)中的self參數,不需要開發者傳遞,python解釋器會自動把當前的對象引用傳遞進去
(2)帶參數的__init__
語法:def __init__(self,xxx):
xxxxxx
注意:如果__init__帶了其它參數,那麼需在實例化對象的時候給它傳值
如:
class Dog(obiect):
def __init__(self,name):
slef.name = name
erha = Dog("二哈")
6.4__str__()
語法:def __str__(self):
return 'xxxx'
注意:
(1)當使用print輸出對象的時候,顯示的是內存地址,但只要自己定義了__str__(self)方法,那麼就會打印從在這個方法中return的數據
(2)__str__方法需要返回一個字符串,當做這個對象的描寫
6.5__del__()(基本不用)
語法:def __del__(self):
當程序結束、或刪除對象的時候會調用的方法