私有方法私有属性继承问题

# 父类,基类
# 私有方法和私有属性不能被继承
class Animal():

    def eat(self):
        print("---吃---")
    def drink(self):
        print("---喝---")
    def sleep(self):
        print("---睡觉---")
    def run(self):
        print("---跑---")

class Dog(Animal):
    def bark(self):
        print("----旺旺叫----")

class Xiaotq(Dog):
    def fly(self):
        print("----飞----")

    # 父类方法重写
    def bark(self):
        print("----狂叫----")
        # 第一种方法:调用父类方法,这里必须传入self
        # Dog.bark(self)
        # 第二种 调用父类方法 不需要传self
        super().bark()

# xiaotq = Xiaotq()
# xiaotq.fly()
# xiaotq.bark()
# xiaotq.eat()

class A():
    def __init__(self):
        self.num1 = 100
        self.__num2 = 400
    def test1(self):
        print("----test1----")
    def __test2(self):
        print("----test2----")
    
    # 子类可以调用此方法,访问父类中的私有属性和私有方法,但是如果在子类中实现了一
    # 个共有方法,那么这个方法是不能够调用继承父类的私有方法
    def test3(self):
        self.__test2()
        print(self.__num2)

class B(A):
  pass
    # def test4(self):
    #     self.__test2()
    #     print(self.__num2)
    

b = B()
b.test3()

猜你喜欢

转载自www.cnblogs.com/pooopun/p/12584686.html
今日推荐