Python-类的继承

一、私有方法和私有属性

类的定义中属性和方法前加“__“表示这是一个私有方法/属性,继承的类中不可以父类中的私有方法和私有属性,但如果私有的方法/属性在类的公有方法中调用了,那么继承后依然可以用公有方法,公有方法也可以正常调用私有属性/方法

 1 class A:
 2     def __init__(self):
 3         self.num1 = 100
 4         self.__num2 = 200
 5 
 6     def test1(self):
 7         print('----test1-----')
 8 
 9     def __test2(self):
10         print('-----test2----')
11 
12     def test3(self):
13         self.__test2()  
14         print(self.__num2)
15 
16 class B(A):
17     def test4(self):
18         self.__test2()
b = B()
b.test3()
b.test4()
b.__test2()

如上的代码中,子类可以调用 test3,但子类中的公有方法 test4 调用了继承父类的私有属性,所以 b.test4() 不能调用,显然 b.__test2() 也是不行的,因为私有的方法无法继承。

posted @ 2020-07-12 18:23  april_aaa  阅读(120)  评论(0编辑  收藏  举报