VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • python基础(25):面向对象三大特性二(多态、封装)(3)

f1=Foo()
  • f1.AAA
  • f1.AAA='aaa'
  • del f1.AAA
  • 
    
    1. class Foo:
    2. def get_AAA(self):
    3. print('get的时候运行我啊')
    4.  
    5. def set_AAA(self,value):
    6. print('set的时候运行我啊')
    7.  
    8. def delete_AAA(self):
    9. print('delete的时候运行我啊')
    10. AAA=property(get_AAA,set_AAA,delete_AAA) #内置property三个参数与get,set,delete一一对应
    11.  
    12. f1=Foo()
    13. f1.AAA
    14. f1.AAA='aaa'
    15. del f1.AAA

    怎么用?

    
    
    1. class Goods:
    2.  
    3. def __init__(self):
    4. # 原价
    5. self.original_price = 100
    6. # 折扣
    7. self.discount = 0.8
    8.  
    9. @property
    10. def price(self):
    11. # 实际价格 = 原价 * 折扣
    12. new_price = self.original_price * self.discount
    13. return new_price
    14.  
    15. @price.setter
    16. def price(self, value):
    17. self.original_price = value
    18.  
    19. @price.deleter
    20. def price(self):
    21. del self.original_price
    22.  
    23. obj = Goods()
    24. obj.price # 获取商品价格
    25. obj.price = 200 # 修改商品原价
    26. print(obj.price)
    27. del obj.price # 删除商品原价

    2.5 classmethod

    
    
    1. class Classmethod_Demo():
    2. role = 'dog'
    3.  
    4. @classmethod
    5. def func(cls):
    6. print(cls.role)
    7.  
    8. Classmethod_Demo.func()

    2.6 staticmethod

    
    
    1. class Staticmethod_Demo():
    2. role = 'dog'
    3.  
    4. @staticmethod
    5. def func():
    6. print("当普通方法用")
    7.  
    8. Staticmethod_Demo.func()

    
    相关教程
              
    关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号