zoukankan      html  css  js  c++  java
  • 类中变量私有化和调用:__x和getx/setx或者property

    __xx:双前置下划线,子类不可继承属性、方法,父类私有。

    详见:https://www.cnblogs.com/andy9468/p/8299448.html

    例子1:隐藏数据:私有化后,用get和set方法

     1 class MoneyClass(object):
     2     def __init__(self):
     3         self.__money = 0
     4 
     5     def get_money(self):
     6         return self.__money
     7 
     8     def set_money(self, value):
     9         if isinstance(value, int):
    10             self.__money = value
    11         else:
    12             print("error:不是整型数字")
    13 
    14 
    15 m1 = MoneyClass()
    16 print(m1.get_money())
    17 m1.set_money(50)
    18 print(m1.get_money())
    View Code

    输出:

    0

    50

    例子2:property属性:自动调用get、set方法

     1 class MoneyClass(object):
     2     def __init__(self):
     3         self.__money = 0
     4 
     5     def get_money(self):
     6         return self.__money
     7 
     8     def set_money(self, value):
     9         if isinstance(value, int):
    10             self.__money = value
    11         else:
    12             print("error:不是整型数字")
    13 
    14     getsetmoney = property(get_money, set_money)
    15 
    16 
    17 m1 = MoneyClass()
    18 print(m1.getsetmoney)
    19 m1.getsetmoney = 800
    20 print(m1.getsetmoney)
    View Code

     输出:

    0

    800

    例子3:property装饰器:自动调用get、set方法

     1 class MoneyClass(object):
     2     def __init__(self):
     3         self.__money = 0
     4 
     5     @property
     6     def getsetmoney(self):
     7         return self.__money
     8 
     9     @getsetmoney.setter
    10     def getsetmoney(self, value):
    11         if isinstance(value, int):
    12             self.__money = value
    13         else:
    14             print("error:不是整型数字")
    15 
    16 
    17 m1 = MoneyClass()
    18 print(m1.getsetmoney)
    19 m1.getsetmoney = 1000
    20 print(m1.getsetmoney)
    View Code

    输出:

    0

    1000

  • 相关阅读:
    读后感之—寒门学子重要选择-程序员
    架构中的分而治之
    如何从码农进化到项目管理者
    饿了么架构
    简单理解支付宝和蚂蚁花呗的架构
    架构小谈之美团外卖
    漫谈架构总结之1500
    平台基本信息项目目标文档
    第六学期每周总结-第三周
    质量管理之可用性战术分析
  • 原文地址:https://www.cnblogs.com/andy9468/p/11138352.html
Copyright © 2011-2022 走看看