Python 中函数的继承涉及基于类的继承和基于对象的继承两种方式。接下来我将详细讲解这两种方式的方法,包含具体的代码示例。
基于类的继承
使用类的继承方法,可以利用子类继承父类的属性、方法甚至是构造函数。在Python中,通过定义一个类,并在类定义中设置继承自哪个父类即可实现基于类的继承。
class Parent():
def __init__(self, name):
self.name = name
def getName(self):
return self.name
class Child(Parent):
def __init__(self, name, age):
Parent.__init__(self, name)
self.age = age
def getAge(self):
return self.age
在上述示例中,子类 Child 继承自父类 Parent,即在定义子类的时候使用“class Child(Parent)”设置继承自 Parent。另外可以看到,在子类 Child 的构造函数中用“Parent.init(self, name)”调用了父类的构造函数,以获取父类的属性值,然后又定义了自己的属性 age,子类还可以调用父类的函数 getName()。
基于对象的继承
基于对象的继承是指在Python中使用对象的内存来实现函数的继承。它使用“super()”函数调用父类函数。
这里再给出一个代码示例:
class Parent():
def __init__(self, name):
self.name = name
def getName(self):
return self.name
class Child(Parent):
def __init__(self, name, age):
super().__init__(name)
self.age = age
def getAge(self):
return self.age
在上述示例中,子类 Child 中的构造函数,使用 “super().init(name)” 代替之前示例中使用的“Parent.init(self, name)”语句,两者均是为了实现调用父类的构造函数。
总的来说,Python 函数的继承方法涉及到类和对象两种继承方式。基于类的继承是在类定义中设置子类继承自父类,然后通过调用父类构造函数实现继承。而基于对象的继承则主要是在子类中使用“super()”函数调用父类函数实现继承。