1. 程式人生 > >python學習筆記(33) 封裝和property

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裝飾的方法