菜鸟IT的博客 >> Python
类的属性监控 | 传统意义上的属性监控有缺陷(2)| 使用property方法解决传统缺陷 | mywidth=property(getWidth,setWidth,delWidth)
class FangKuang:
def __init__(self):
self.width=0
self.height=0
def setWidth(self,width):
print("监控设置的宽度")
self.width=width
def getWidth(self):
return self.width
def delWidth(self):
print("监控清空数据")
self.width=0
mywidth=property(getWidth,setWidth,delWidth)
# 不要带括号,程序会报错。
# 不可以这样:mywidth=property(getWidth(),setWidth(),delWidth())
# 把它实例化
fk=FangKuang()
# 传统意义上的属性监控
fk.mywidth=10
print(fk.mywidth)
# 传统意义上的属性监控的缺陷:
# 一个属性成员要对应的写3个方法函数去进行监控。
# 如果我们有10个属性成员,那就得写30个方法函数去进行监控。
# 只能通过get和set的方法来监控属性。
# 使用property可以打包这些函数,可以统一解决。
___
输出结果:
监控设置的宽度
10
进程已结束,退出代码0
菜鸟IT博客[2022.01.06-16:08] 访问:348