物件導向 其他

2021-10-09 22:02:51 字數 2737 閱讀 7994

三. 類屬性和例項屬性

3.2 例項屬性

四. 類方法和靜態方法

4.2 靜態方法

4.2.2 靜態方法使用場景

五. 總結

繼承

多型

多型指的是一類事物有多種形態,(乙個抽象類有多個子類,因而多型的概念依賴於繼承)。

class

dog(

object):

defwork

(self)

:# 父類提供統一的方法,哪怕是空方法

print

('指哪打哪...'

)class

armydog

(dog)

:# 繼承dog類

defwork

(self)

:# 子類重寫父類同名方法

print

('追擊敵人...'

)class

drugdog

(dog)

:def

work

(self)

:print

('追查毒品...'

)class

person

(object):

defwork_with_dog

(self, dog)

:# 傳入不同的物件,執行不同的**,即不同的work函式

dog.work(

)ad = armydog(

)dd = drugdog(

)daqiu = person(

)daqiu.work_with_dog(ad)

daqiu.work_with_dog(dd)

class

dog(

object):

tooth =

10wangcai = dog(

)xiaohei = dog(

)print

(dog.tooth)

# 10

print

(wangcai.tooth)

# 10

print

(xiaohei.tooth)

# 10

類屬性的優點

類屬性只能通過類物件修改,不能通過例項物件修改,如果通過例項物件修改類屬性,表示的是建立了乙個例項屬性。

class

dog(

object):

tooth =

10wangcai = dog(

)xiaohei = dog(

)# 修改類屬性

dog.tooth =

12print

(dog.tooth)

# 12

print

(wangcai.tooth)

# 12

print

(xiaohei.tooth)

# 12

# 不能通過物件修改屬性,如果這樣操作,實則是建立了乙個例項屬性

wangcai.tooth =

20print

(dog.tooth)

# 12

print

(wangcai.tooth)

# 20

print

(xiaohei.tooth)

# 12

class

dog(

object):

def__init__

(self)

: self.age =

5def

info_print

(self)

:print

(self.age)

wangcai = dog(

)print

(wangcai.age)

# 5# print(dog.age) # 報錯:例項屬性不能通過類訪問

wangcai.info_print(

)# 5

class

dog(

object):

__tooth =

10 @classmethod

defget_tooth

(cls)

:return cls.__tooth

wangcai = dog(

)result = wangcai.get_tooth(

)print

(result)

# 10

class

dog(

object):

@staticmethod

definfo_print()

:print

('這是乙個狗類,用於建立狗例項....'

)wangcai = dog(

)# 靜態方法既可以使用物件訪問又可以使用類訪問

wangcai.info_print(

)dog.info_print(

)

類屬性

例項屬性

類方法

@classmethod

defxx()

: **

@staticmethod

defxx()

: **

物件導向 其他

2.1了解多型 多型指得是一類事物有多種形態,乙個抽象類有多個子類,因而多型得概念依賴於繼承 2.2體驗多型class dog object defwork self pass class armydog dog def work self print 追擊敵人。class dtugdog dog ...

Python基礎物件導向 其他

繼承 多型 多型指的是一類事物有多種形態,乙個抽象類有多個子類,因而多型的概念依賴於繼承 class dog object defwork self 父類提供統一的方法,哪怕是空方法 print 指哪打哪.class armydog dog 繼承dog類 defwork self 子類重寫父類同名方...

Oracle其他物件

b 檢視 b b 建立檢視 b create or replace view as b 序列 b b 建立序列 b create sequence increment by n start with n maxvalue n minvalue n cycle nocycle cache n noca...