个人总结的相关python在继承,私有函数,私有变量方面的理解

一开始我也是很蒙的,现在把自己的代码及截图给到大家,慢慢悟吧,去思考了才会更深刻,才会有自己的理解:

#继承

class Father(object):

    f = 1

    def __init__(self, age):

        self.age=age

        print ( "Father——age: %d" %( self.age) )

    def getAge(self):

        print('Father------%d'%self.age)

        print(id(self))

class Son(Father):

#    f=2

    def __init__(self, age):

        print ( "son------hello world" )

        super().__init__(age)#使用super调用父类的方法

        self.age =  age

    def getAge(self):

        Father.getAge(self)#使用类名直接调用父类的方法,注意,这个时候就要传入self参数,不然报错self就是指向当前的实例!

        print('son------get age!')

        print(id(self))

son=Son(18)

son.getAge()


1

class Father():

    def __private(self):

        print("父类的私有函数private")

    def _protected(self):

        print("父类的受保护函数protected")

    def public(self):

        print("父类的公有函数public")

        self.__private()

        self._protected()

class Son(Father):

    __son='private_son'

    _son='protectes_son2'

    def __private(self):

        print("子类的重载私有函数private")

    def _protected(self):

        print("子类的重载受保护protected")

    def prit(self):

        print(self.__son)

s = Son()

s.public()

# 单下划线的函数或属性,在类的定义中可以调用和访问,类的实例也可以直接访问,子类也可以访问;s._protected()可以访问

# 双下划线的函数或属性,在类的定义中可以调用和访问,类的实例不可以直接访问,子类不可以访问。s.__private()报错


2


3


4

你可能感兴趣的:(个人总结的相关python在继承,私有函数,私有变量方面的理解)