私有方法私有屬性繼承問題


# 父類,基類
# 私有方法和私有屬性不能被繼承
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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM