python新手入門日記 第八天 物件導向

2021-10-03 12:18:43 字數 2606 閱讀 5852

物件導向的三大特徵:封裝、繼承、多型

例如:

class

test

: a =

"hello world"

deff

(self)

:return

'hello world'

x = test(

)print

("類的屬性 a 為:"

, x.a)

print

("類的方法 f 輸出:"

, x.f(

))

這段**定義了乙個名為test的類,類裡封裝了屬性a和方法f,這兩個方法不能在外部直接呼叫,必須例項化test的物件x,然後通過x.《屬性名/方法名》的方式進行呼叫。

因為封裝了屬性,因此不能直接在外部對該屬性賦值,但是開發需求中需要賦值或呼叫該屬性的值,此時就需要getter和setter方法。

class

test

: @property

defa

(self)

:return self.__a

@a.setter

defa(self, a)

: self.__a = a

t = test(

)t.a =

48print

(t.a)

該**中使用@property註解來定義getter和setter方法

例如:

class

test

:def

__init__

(self)

: a =

64 aa =

"wfdwfa"

defac

(self)

:print

("hello world!"

)class

testson

(test)

:pass

t = testson(

)t.ac(

)

該**中testson類中並沒有定義任何方法和屬性,但是因為繼承了test類,所以可以使用test類中定義好的方法!

有時父類中的方法並不能完全滿足我們的需求,但是因為必須繼承父類中的所有方法,這個時候就需要重寫父類中的方法。重寫方法要點:方法名必須相同,引數也必須相同。

例如:

class

test

:def

__init__

(self)

: a =

64 aa =

"wfdwfa"

defac

(self)

:print

("hello world!"

)class

testson

(test)

:def

ac(self)

:print

("wooooooo you can really dance!!!"

)t = testson(

)t.ac(

)

此時列印輸出的就不再是父類中的helloworld,而是子類中定義的ac方法!

有時需要在子類中呼叫父類的方法

classa(

object):

def__init__

(self)

:print

('i am class a'

)class

b(a)

:def

__init__

(self)

:super()

.__init__(

)print

('yes'

)b = b(

)

該**中b類繼承於a類,所以使用super().__init__()呼叫的就是a類中的構造方法,而不是自身。

同乙個方法,對不同的傳入引數,做出不同的反應。

class

cat:

defeat

(self)

:print

("貓吃魚"

)class

dog:

defeat

(self)

:print

("狗吃肉"

)def

eat(

object):

object

.eat(

)cat = cat(

)eat(cat)

dog = dog(

)eat(dog)

====

====

====

====

====

====

====

====

====

====

====

====

*****==

貓吃魚狗吃肉

這段**中同樣的eat方法,因為傳入物件的不同,給出了不同的執行結果,這就是多型。

python打卡第八天

一,字典 字典是另一種可變容器模型,且可儲存任意型別物件。字典的每個鍵值 key value 對用冒號 分割,每個對之間用逗號 分割,整個字典包括在花括號 中 格式如下所示 d 鍵必須是唯一的,但值則不必。值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。dict 建立字典 print ...

Python學習第八天

字典與集合 字典是一種列表,只不過其中儲存的元素成了鍵值對,字典的每個鍵值 key value 對用冒號 分割,每個鍵值對之間用逗號 分割,整個字典包括在花括號 中 格式如下所示 d 值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。乙個簡單的字典例項 dict1 dict2 dict ...

學習python 第八天

物件導向 多型 多種形態 繼承 重寫 類與類之間的關係 繼承 關聯 組合,聚合 依賴 關聯 乙個類的物件作為另乙個類的屬性 依賴 乙個類的物件作為另乙個類的方法的引數 耦合程度 繼承 關聯 依賴 封裝 類屬性 物件屬性 class a name 張三 類屬性 def init self,age se...