
python如何继承
用户关注问题
如何在Python中创建子类继承父类?
我想让一个类继承另一个类的属性和方法,Python中是如何实现类的继承的?
使用class定义语法实现类的继承
在Python中,可以通过在子类定义时在括号中写上父类名来实现继承。例如:
class Parent:
def greet(self):
print('Hello from Parent')
class Child(Parent):
pass
c = Child()
c.greet() # 输出: Hello from Parent
这样,Child类就继承了Parent类的方法和属性。
如何重写父类的方法以实现多态?
继承父类后,我想让子类拥有不同的行为,Python中怎样重写父类的方法?
在子类中定义与父类同名的方法进行方法重写
子类可以通过定义与父类同名的方法来覆盖父类的方法,这样调用该方法时会执行子类中的版本。例如:
class Parent:
def greet(self):
print('Hello from Parent')
class Child(Parent):
def greet(self):
print('Hello from Child')
c = Child()
c.greet() # 输出: Hello from Child
这能实现不同类中相同方法名的不同表现,体现多态特性。
如何调用父类被重写的方法?
在子类中重写了父类的方法,若仍想调用父类的该方法,应该怎么做?
使用super()函数调用父类的方法
可以使用super()函数来调用父类的被重写的方法,比如:
class Parent:
def greet(self):
print('Hello from Parent')
class Child(Parent):
def greet(self):
super().greet()
print('Hello from Child')
c = Child()
c.greet()
输出结果为:
Hello from Parent
Hello from Child
这样子类方法中既能调用父类功能,也可扩展新的行为。