可以通過@property的getter和setter方法修改物件的屬性值。
class person(object):
def __init__(self, name, age):
self._name = name
self._age = age
# 訪問器 - getter方法
@property
def name(self):
return self._name
@property
def age(self):
return self._age
# 修改器 - setter方法
@age.setter
def age(self, age):
self._age = age
@name.setter
def name(self, name):
self._name = name
def play(self):
if self._age <= 16:
print('%s正在玩飛行棋.' % self._name)
else:
print('%s正在玩鬥地主.' % self._name)
def main():
person = person('王大錘', 12)
person.play()
person.name = '白元芳'
person.age = 22
person.play()
if __name__ == '__main__':
main()
輸出:王大錘正在玩飛行棋.
白元芳正在玩鬥地主.
物件導向之類裝飾器
property是一種特殊的屬性,訪問它時會執行一段功能 函式 然後返回值 class student def init self,name,birth self.name name self.birth birth property 將乙個方法偽裝成屬性 defage self import ti...
類和物件導向程式設計OOP之裝飾器
裝飾是為函式和類指定管理和擴增 的一種方式,裝飾器本身採取可呼叫物件的方式,處理其他可呼叫物件。簡而言之,裝飾器提供了一種方式,在函式和類定義語句結束時插入自動執行的 對於函式裝飾器,在def語句結束時插入,對於類裝飾器,在class語句結束時插入,函式裝飾器是一種關於函式的執行時宣告,函式的定義需...
php物件導向之裝飾模式
裝飾模式重視 的組合和委託,輕鬆的實現合併物件,在 普通的方法是 定義基類 abstract class title 子類實現 class plains extends title 如果存在鑽石增加金幣 class diamondplains extends plains 如果被汙染則減少金幣 cl...