python继承中资源的使用


  1. python 继承子类可以使用父类中的资源
  2. 公共和受保护的可以使用,私有的不能访问(当然 也可以间接访问,python 没有绝对的访问控制)
  3. object中的方法也可以访问
class SuperClass(object):
    a = 1
    _b = 2
    __c = 3

    def x(self):
        print('x')

    def _y(self):
        print('y')

    def __z(self):
        print('z')

    def __init__(self):
        print('init SuperClass')


class SubClass(SuperClass):
    def test(self):
        print(self.a)
        print(self._b)
        # print(self.__c)
        # 报错,私有属性不能访问 AttributeError: type object 'SubClass' has no attribute '_SubClass__c'
        self.x()
        self._y()
        # self.__z()
        # 报错,私有属性不能访问 AttributeError: 'SubClass' object has no attribute '_SubClass__z'
        self.__init__()


if __name__ == '__main__':
    sub = SubClass()
    sub.test()

输出结果:

init SuperClass
1
2
x
y
init SuperClass