面向对象
私有属性和方法
私有属性和方法通过在属性和方法名前添加__得到。
私有属性和方法是对象的隐私,不能通过外界和子类直接访问
在外界无法访问到私有属性和方法(不能直接print打印)
可以通过在对象的方法内部访问私有属性
子类对象可以通过父类的公有方法间接访问到私有属性或私有方法
eg:
class A:
def __init__(self):
self.num1 = 11
#定义私有属性
self.__num2 = 22
#定义私有方法
def __test(self):
print("私有方法,私有属性:%d %d"% (self.num1,self.__num2))
#定义公有属性
def test(self):
print("父类的公有方法%d"% self.__num2)
class B(A):
def demo(self):
#尝试在子类中调用私有属性
print("self.__num2")
#尝试在父类中调用私有方法
self.__test()
b = B()
print(b)
#通过父类的公有方法间接访问到私有属性(self.__num2)或私有方法
b.test()
继承
1.覆盖父类的方法 (方法的重写):子类中定义与父类相同的方法,会覆盖父类的方法
2.拓展父类的方法 :先重写父类的方法:使用super(). 的方法来调用父类中原本封装的方法。比如:super().bark()
补:只能在__init__方法中定义属性!
注:总结自黑马python编程基础班