美文网首页
01.14 - 函数私有化

01.14 - 函数私有化

作者: xxxQinli | 来源:发表于2019-01-14 17:20 被阅读0次

1. 访问权限

  • a. 私有的: 在类的外部不可以使用,也不可以继承
  • b. 保护的: 在类的外部不可以使用,可以继承
  • c. 公开的: 在类的外部可以使用, 也可以被继承

2. python的私有化

  • python中属性和方法权限只有公开,但是提供了另一种私有化的方式

  • python中在属性或者方法名前加(两个下划线开头),就可以将属性或者方法变成私有的(注意,只能两个下划线开头,不能两个下划线结尾)

  • 私有的属性和方法只能在类的内部使用,不能在类的外部使用
    看属性和方法是否需要在外部用,不需要,就私有化

3. python私有化的原理

在名字前是_的属性和方法前再加'类名'去保存属性和方法,相当于做一个假的私有化,把属性名改了,因为名字改了,这样就没法直接调用两个下划线

"""
class Ql_Person:  # 
    """ 
    类说明文档:
    """
    num = 61
    __num2 = 62

    def __init__(self, name = '张三', age = 0):
        """
        函数说明文档:
        """
        self.name = name
        self.age = age
        self.__sex = '男'
        

    def ql_Eat(self, food):  #
        """
        函数说明文档:
        """
        print(food, self.__sex)
        self.__ql_Run()
    
    @classmethod
    def ql_Show_Num(cls):  #
        """
        函数说明文档:
        """
        print('人类的数量%d' % cls.__num2) #在内部可以用
    
    @staticmethod
    def ql_Func1():  #
        """
        函数说明文档:
        """
        print('人类要保护大自然!')
    
    def __ql_Run(self):  #
        """
        函数说明文档:
        """
        print('快跑')
 




def main():
    p1 = Ql_Person()
    print(p1.num)
    ##print(Ql_Person.__num2) 在外面不能用
    print(p1.ql_Eat('面条'))
    print(Ql_Person.ql_Show_Num())
    print(p1.ql_Func1())    
    print(p1.__dict__) # 私有属性可以用过_类__属性来获取,所以python没有真正的私有化,只是把名字改一下,在前面添加了下划线加类名,



if __name__ == '__main__':
    main()

相关文章

  • 01.14 - 函数私有化

    1. 访问权限 a. 私有的: 在类的外部不可以使用,也不可以继承 b. 保护的: 在类的外部不可以使用,可以继承...

  • 封装、继承、多态

    函数签名:函数名,函数参数的个数、类型以及顺序 封装 把属性声明为private私有化,对外提供public的ge...

  • 01.14

    总有一天,会有一个人, 看你写过的所有状态,读完写的所有微博,看你从小到大的所有照片,甚至去别的地方寻找关于你的信...

  • Unsafe 类

    Unsafe类 不能直接 new, 其构造函数被私有化 public final class Unsafe : U...

  • 闭包与装饰器

    闭包: 函数内的属性,都是有生命周期,都是在函数执行期间内部函数对外部函数作用域里变量的引用闭包内的闭包函数私有化...

  • JS的继承方式

    1.构造函数 2.原形继承 3.伪类继承(摈弃) 4.函数化继承 5.圣杯继承模式 函数化继承 关键字:成员私有化...

  • 闭包

    嵌套的内部函数引用外部函数的变量,产生闭包。 闭包的作用 可以做缓存(存储结构) 可以实现封装,属性私有化 模块化...

  • 01.14 - 继承

    什么是继承者 一个类继承另外一个类,会产生继承者与被继承者。继承者叫子类,被继承者叫父类/超类 继承就是让子类直接...

  • 01.14 viable

    1) 翻译:中国经济下行,许多 O2O 模式显得不再可行。 As China’s economy is going...

  • 日记01.14

    早上,我在洗脸时,发现右眼皮又肿了。怎么办? 中午12点左右,我又在简书平台买了16000多贝,现在我在简书的持钻...

网友评论

      本文标题:01.14 - 函数私有化

      本文链接:https://www.haomeiwen.com/subject/lzsjdqtx.html