封裝
在類別裏, 通常會定義其他的方法進行資料的運算, 從外界只需知道有那些方法可以調用, 而不需要知道運算的內容, 這現象在物件導向裏稱為封裝, 如下代碼的getGrade()
class Pokemon(object):
def __init__(self, name, level):
self.level=level
self.name=name
print("%s出生了, 等級為%d" % (self.name, self.level))
def getGrade(self):
if self.level>=100:
return "A"
elif self.level>=50:
return "B"
else:
return "C"
s1=Pokemon("Eve", 100)
print(s1.getGrade())
權限(Permission)
物件變數到目前為止, 都可以直接從外面調用, 如p1.level. 如果一下就把p1.level=5000, 那神奇寶貝的等級不就隨意的就變的很強了嗎. 所以為了讓外界無法直接調用, 就要把level變成private, 就是在變數前加二個底線, 如 __level.但請注意一下, 如果變數後面也有二個底線的話, 如 __level__, 這下又變成了public的特殊變數, 外界一樣可以直接使用. 請看下面代碼。
