python学习笔记(33) 封装和property

父类的私有属性不能被子类调用

会用到私有的场景:

1.隐藏起一个属性不想让类的外部调用

2.想保护一个属性不想让属性随意被改变

3.想保护这个属性不被子类继承

#########################################

property内置装饰器函数,只在面向对象中使用

把类中的方法伪装成属性 

  

@property

def name1(self):

  return self.__name + 'sb'

@name1.setter  #用于修改对象,三个名字必须一致

def name1(self,new_name):

  self.__name = new_name

############################################

self.__price = price

@property    #用于输出处理过的price

def price():

  return self.__price * Goods.discount

print(apple.price) 

###########################################

@property

def name1(self):

  return self.__name + 'sb'

@name1.deleter  #用于在外部删除私有对象,三个名字必须一致

def name1(self):

  del self.__name

del apple.name  #del命令触发@deleter装饰的方法

猜你喜欢

转载自www.cnblogs.com/farion/p/9911949.html
今日推荐