zoukankan      html  css  js  c++  java
  • 封装

    ---恢复内容开始---

    当我们设计一些的功能的时候,我们都希望隐藏一些代码:比如密码相关的

    这时我们就需要对代码进行封装把属性和方法都藏起来,不让你看见。

    臂如:

    class Person:
        def __init__(self,name,word):
            self.name = name
            self.word = word
    big_daxiang = Person('套你大象','123')

    python中自带的有个私有属性;我们可以对这个word进行加密

    class Person:
        def __init__(self,name,word):
            self.name = name
            self.__word = word
    big_daxiang = Person('套你大象','123')
    print(big_daxiang.__word)

    我们可以看到我们再去在外面调用时就调用不到了。

    但是我们可以取巧破解这个代码加密。

    print(big_daxiang.__dict__)

    直接调用它的属性。

    然后我们直接使用内置的属性就可以调用了。

    print(big_daxiang._Person__word)

    class Person:
        def __init__(self,name,word):
            self.name = name
            self.__word = word
        def get(self):
            return self.__word#只有在类的内部使用私有树形的时候,就会自动的带上__类名
    big_daxiang = Person('套你大象','123')
    print(big_daxiang.get())

    并且在类的的外面是不能添加私有属性的。

    并且不知可以私有属性,还可以这个方法来定义私有方法。

    注意:

      1,所有的私有,都是在变量的左边加双下划线“__”

        对象的私有属性

        类的私有方法

        类的静态属性

      2,所有的私有都不能类外面使用。

  • 相关阅读:
    最小费用流(km的另一种使用思路)
    最小费用流(km的另一种使用思路)
    Python 字符串格式化
    Python字符串运算符
    Python 字符串连接
    Python 访问字符串中的值
    虚拟纹理与几何图像技术
    深度学习与传统图像识别
    ASML光刻机PK 原子弹,难度?
    L4自动驾驶技术
  • 原文地址:https://www.cnblogs.com/zly9527/p/11610320.html
Copyright © 2011-2022 走看看