继承
面向对象三大特性:
1、封装:根据职责将属性和方法封装到一个抽象的类中。
2、继承:实现代码的重用,相同的代码不需要重复编写。
3、多态:不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活度。
单继承
继承的概念:子类拥有父类的所有方法和属性。
继承的语法:
class 类名(父类名):
pass
继承也叫做派生,父类被称为基类,子类被称为派生类。
继承的传递性:
子类能继承父类的方法,也能继承爷类的方法,但是不能继承叔类的方法。
方法的重写
当父类的方法不能满足子类的需求时,可以对方法进行重写,在子类中定义一个和父类同名的方法并且实现。即可覆盖父类方法。如果父类原本封装的方实现是子类的方法的一部分,那么久可以对父类的方法进行扩展。在子类中重写父类方法,并且在需要位置使用super().父类方法
来调用父类方法的执行。
在python中super
是一个特殊的类,super()
就是使用super
类创建出来的对象。
class Dog:
def bark(self):
print("汪汪叫")
class XiaoTianQuan(Dog):
def bark(self)<