私有化

作者: 匿隱 | 来源:发表于2019-02-12 09:32 被阅读0次

1.属性和方法的访问权限

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

2.python的私有化

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

python中在属性或者方法名前加____,就可以将属性或者方法变成私有的(注意:只能两____开头,不能____结尾)
私有的属性和方法只能在类的内部使用,不能在类的外面使用

3.python私有化的原理

在名字前是_的属性和方法前再加'类名'去保存属性和方法

class Person:
    num = 61
    __num2 = 62

    def __init__(self, name='张三', age=0):
        self.name = name
        self.age = age
        self.__sex = '男'

    def eat(self, food):
        print(self.__sex)
        print(self.name, food)
        self.__run()

    def __run(self):
        print('%s在跑步' % self.name)

    @classmethod
    def show_num(cls):
        print('人类的数量:%d, %d' % (cls.num, cls.__num2))

    @staticmethod
    def func1():
        print('人类要保护大自然!')


def main():
    p1 = Person()

    print(Person.num)
    # print(Person.__num2)


    print(p1.name)
    # print(p1.__sex)
    print(p1._Person__sex)

    p1.eat('面条')
    # p1.run()

    Person.show_num()
    Person.func1()

    print(p1.__dict__)

相关文章

  • npm和nvm和nrm

    npmnode package manage私有化npm包,sinopia私有化安装,npm私有化包管理等组件化开...

  • Python小白学习进行时---面向对象编程(三)(2018-6

    一、属性私有化 二、 三、 四、 一、属性私有化 属性的访问权限:公开、保护、私有。其中属性私有化指属性只能在定义...

  • iOS-面试题2

    1、OC 能实现私有化吗?答:方法的私有化,声明即外漏,不声明不外漏。( .m 可以实现私有化。)2、OC 中有...

  • day16 面向对象

    01-recode 02-私有化 1.属性和方法的访问权限 2.python的私有化 3.python私有化的原理...

  • 寻找特斯拉的2号人物,马斯克或许真的应该歇歇了!

    有关特斯拉私有化的消息已经引发了行业内的广泛关注。虽然对于特斯拉的私有化,外界褒贬不一,但是随着特斯拉私有化的动作...

  • day15_python_类和对象

    属性的私有化 python中并没有真正的私有化!python 的类中默认的属性和方法都是公开的 1.私有化a.类中...

  • java构造方法私有化

    理解构造方法私有化过程 - 1. 构造方式私有化 当构造方法私有化后,外部类无法对其进行实例化 - 2. 在类内部...

  • Python 类的私有化

    私有化 xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *...

  • day-16类和对象

    私有化 python的私有化 python中在属性前面加两个下划线,就可以将属性或者方法私有化(只能两个下划线开头...

  • python私有化和property

    私有化xx: 公有变量_x: 单前置下划线,私有化属性或⽅法,from somemodule import *禁⽌...

网友评论

      本文标题:私有化

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