Python 封裝

markdown #說明 封裝的概念,其實應該在繼承那篇就先說明(阿因為那時候不知道這個行為就是封裝...) 總之,封裝的概念是指外部的使用者可以呼叫內部的方法實作,不用考慮內部的運作 另外一個是如果在方法上面加上__前綴詞來命名變數,外部就不可使用。 <接續剛剛狗和鴨的 Code 繼續做> #操作流程 ##Code ``` class Animal: name = '' # __private = '' def __init__(self, name): self.name = name def walk(self): print('walking') def eat(self): print('eating') class Dog(Animal): def __init__(self, name): super().__init__(name) def walk(self): print('{0} using foot walk'.format(self.name)) def eat(self): print('{0} eat bone'.format(self.name)) def sleep(self): print("i am sleeping") class Duck(Animal): def __init__(self, name): super().__init__(name) def walk(self): print('{0} using two foot walk'.format(self.name)) def eat(self): print('{0} eat worm'.format(self.name)) def __sleep(self): print("i am sleeping") A = Dog('Dog') A.eat() A.walk() A.sleep() B = Duck('Duck') B.eat() B.walk() B.sleep() ``` ##輸出
##詳細說明 從輸出可以看出,在 dog 的 sleep 方法中是可以被實作的 但是在 duck 的 sleep 方法 前面有加 __  這個是前綴詞,使得 sleep 不能實作,所以後面會產生報錯(在輸出的下半張圖) ##參考: - DAY08-搞懂Python的OOP - [Python教學]物件導向-Class類的封裝/繼承/多型

留言