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類的封裝/繼承/多型
留言
張貼留言