python面向物件--私有和繼承
阿新 • • 發佈:2019-01-11
一、 私有屬性和私有方法
應用場景
在實際開發中,物件的某些屬性或方法可能只希望在物件的內部使用,而不希望在外部被訪問到
私有屬性 就是 物件 不希望公開的屬性 (屬性即類裡面的變數)
私有方法 就是 方法 不希望公開的方法
定義方式
在定義屬性或方法時,在屬性名或者方法名前新增兩個下劃線,定義的就是私有屬性或方法,只能在類裡面用。
class My: def test(self): self.__password = 123456 #私有屬性 def say(self): print('password',self.__password) def __set_password(self): #私有方法 self.__password = 7890 def update(self): self.__set_password() m = My() m.test() #無輸出結果 m.say() #輸出:password 123456 m.update() #無輸出結果 m.say() #輸出:password 7890
參考:https://www.2cto.com/os/201807/763010.html
二、繼承
子類繼承自父類,可以直接享受父類中已經找到封裝好的方法
子類中應該根據自己的需求,封裝子類特有的屬性和方法
單繼承
1,繼承的概念 語法和特點
繼承的概念:子類擁有父類的所有方法和屬性(子類只需封裝自己特有的方法和屬性)
2,繼承的語法
class 類名(父類)
def 子類特有的方法
class Lm: money = 1000000 house = 5 def driver(self): print('會開車') class Mcb(Lm): def about_me(self): print('我有 %s 錢 ,%s 房子'%(self.money,self.house)) self.driver()def driver(self): print('會開28個輪子的汽車') m = Mcb() m.driver() #輸出:會開28個輪子的汽車 m.about_me()
#以上程式碼輸出: 會開28個輪子的汽車 我有 1000000 錢 ,5 房子 會開28個輪子的汽車
繼承的傳遞性:(爺爺 父親 兒子)
1,C類從B類繼承,B類又從A類繼承
2,那麼C類就具有B類和A類的所有的屬性和方法
子類擁有父類以及父類的父類中封裝的所有的屬性和方法
參考:https://www.2cto.com/os/201807/763010.html