Python物件導向之多繼承

2021-10-10 21:27:56 字數 2137 閱讀 4892

class

terrestrialanimal

:def

activy

(self)

:print

("可以在陸地上運動"

)def

breath

(self)

:print

("使用肺呼吸"

)def

eat(self)

:print

("可以吃東西"

)class

aquaticanimal

:def

activy

(self)

:print

("可以在水中游泳"

)def

breath

(self)

:print

("使用鰓呼吸"

)# 請在下面的begin-end之間按照注釋中給出的提示編寫正確的**

########## begin ##########

# 第1步:定義 frog 類,繼承 terrestrialanimal 和 aquaticanimal 方法

class

frog

(terrestrialanimal,aquaticanimal)

:def

breath

(self)

:super()

.breath(

)print

("可以使用**呼吸"

)# 第2步:重寫 breath 方法

########## end ##########

f = frog(

)f.breath(

)

class

parent

(object):

def__init__

(self, name)

:print

('parent的init開始被呼叫'

) self.name = name

print

('parent的init結束被呼叫'

)class

son1

(parent)

:def

__init__

(self, name, age,

*args,

**kwargs)

:# 為避免多繼承報錯,使用不定長引數,接受引數

print

('son1的init開始被呼叫'

) self.age = age

super()

.__init__(name,

*args,

**kwargs)

print

('son1的init結束被呼叫'

)class

son2

(parent)

:def

__init__

(self, name, gender,

*args,

**kwargs)

:print

('son2的init開始被呼叫'

) self.gender = gender

super()

.__init__(name,

*args,

**kwargs)

print

('son2的init結束被呼叫'

)# 請在下面的begin-end之間按照注釋中給出的提示編寫正確的**

########## begin ##########

class

grandson

(son1,son2)

:def

__init__

(self, name, age, gender)

:print

('grandson的init開始被呼叫'

)super()

.__init__(name,age,gender)

print

('grandson的init結束被呼叫'

)########## end ##########

gs = grandson(

'grandson',12

,"男"

)

python物件導向之多型

多型 以封裝和繼承為前提 不同的子類物件呼叫相同的方法 產生不同的執行結果 class dog object def init self,name self.name name def game self print s 開心的玩耍 self.name class gaifei dog 父類的方法不...

python 物件導向之多型

多型是什麼?用一句話來概括下,多型就是同一操作 方法 作用於不同的物件時,可以有不同的解釋,產生不同的執行結果。usr bin env python coding utf 8 time 2017 12 26 0026 15 18 author ming class person object def...

swift物件導向之多型與繼承

執行時多型的要點 1.要有繼承關係的存在 2.子類要重寫父類的方法 3.父類型別的引用指向子類例項 繼承可以用於類而不能用於結構體和列舉,繼承也可用於協議 swift中不能使用多繼承,oc中也是 父類的計算屬性可以被子類所重寫,如果該計算屬性在父類中是唯讀的,則子類可以重寫該屬性使其成為唯讀或可讀可...