1. 程式人生 > >python面向對象--私有和繼承

python面向對象--私有和繼承

自己的 print out 自己 直接 方法 結果 style --

一、 私有屬性和私有方法

應用場景

在實際開發中,對象的某些屬性或方法可能只希望在對象的內部使用,而不希望在外部被訪問到

私有屬性 就是 對象 不希望公開的屬性 (屬性即類裏面的變量)

私有方法 就是 方法 不希望公開的方法

定義方式

在定義屬性或方法時,在屬性名或者方法名前添加兩個下劃線,定義的就是私有屬性或方法,只能在類裏面用。

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

python面向對象--私有和繼承