一、 私有屬性和私有方法
應用場景
在實際開發中,物件的某些屬性或方法可能只希望在物件的內部使用,而不希望在外部被訪問到
私有屬性 就是 物件 不希望公開的屬性 (屬性即類裡面的變數)
私有方法 就是 方法 不希望公開的方法
定義方式
在定義屬性或方法時,在屬性名或者方法名前新增兩個下劃線,定義的就是私有屬性或方法,只能在類裡面用。
classmy:
deftest(self):
self.
__password = 123456 #
私有屬性
defsay(self):
print('
password
',self.__password
)
def__set_password(self): #
私有方法
self.__password = 7890
defupdate(self):
self.
__set_password
()m =my()
m.test()
#無輸出結果
m.say() #
輸出:password 123456
m.update() #
無輸出結果
m.say() #
輸出:password 7890
參考:二、繼承
子類繼承自父類,可以直接享受父類中已經找到封裝好的方法
子類中應該根據自己的需求,封裝子類特有的屬性和方法
單繼承1,繼承的概念 語法和特點
繼承的概念:子類擁有父類的所有方法和屬性(子類只需封裝自己特有的方法和屬性)
2,繼承的語法
class 類名(父類)
def 子類特有的方法
classlm: money = 1000000house = 5
defdriver(self):
print('
會開車'
)class
mcb(lm):
defabout_me(self):
print('
我有 %s 錢 ,%s 房子
'%(self.money,self.house))
self.driver()
defdriver(self):
print('
會開28個輪子的汽車')
m =mcb()
m.driver()
#輸出:會開28個輪子的汽車
m.about_me()
#以上**輸出:
會開28個輪子的汽車
我有 1000000 錢 ,5房子
會開28個輪子的汽車
3. super().方法名():在父類某個方法的基礎上增加新功能
class car: #父類def
run(self):
print('
running...')
return
'abc
'class newcar(car): #
子類def
run(self):
#沿用父類中的功能的同時,再增加下面的新功能
res =super().run() #
super()的意思就是找到父類,等同於car().run()
print('
fly...
') #
增加的父類中沒有的功能
(res)
bmw=newcar()
bmw.run()
#以上**輸出結果如下:
running...
fly...
abc
繼承的傳遞性:(爺爺 父親 兒子)
1,c類從b類繼承,b類又從a類繼承
2,那麼c類就具有b類和a類的所有的屬性和方法
子類擁有父類以及父類的父類中封裝的所有的屬性和方法
參考:
Python物件導向06 私有屬性和私有方法
應用場景 定義方式 class women def init self,name self.name name 不要問女生的年齡 self.age 18 def secret self print 我的年齡是 d self.age xiaofang women 小芳 私有屬性,外部不能直接訪問 pr...
python物件導向學習(三)私有屬性和私有方法
目錄在j a或者其他的程式語言中,使用訪問修飾符來限制屬性和方法的訪問級別,一般有public protected default private這四種級別,但是python中是不同的。應用場景 定義方式 class person def init self self.name zfx self.a...
python 面向繼承物件 繼承
1.python物件導向的繼承指的是多個類之間的所屬關係,即預設繼承父類的所有屬性和方法。2.注意 當乙個類有多個父類的時候,預設使用第乙個父類的同名屬性和方法。3.檢視某個類的繼承關係 物件.mro 4.子類呼叫父類的同名方法和屬性 class a object definit self self...