三. 類屬性和例項屬性
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...