python-面对对象-继承

面向对象

私有属性和方法

私有属性和方法通过在属性和方法名前添加__得到。
私有属性和方法是对象的隐私,不能通过外界和子类直接访问

在外界无法访问到私有属性和方法(不能直接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编程基础班

猜你喜欢

转载自blog.csdn.net/guaixi/article/details/88636304