Python的多态性
Python中如何实现多态性?
Python通过动态类型的特性来实现多态性。由于Python是一种动态类型语言,不需要提前声明变量的类型,所以在运行时可以根据数据类型的不同,决定采用不同的方法实现同一个操作。
Python中的多态性可以通过方法重写来实现,当子类针对某个方法进行了重写,而父类中的该方法被调用时,就会调用子类的方法,从而实现多态性。
例如:
“`
class Shape:
def area(self):
passclass Circle(Shape):
def __init__(self, r):
self.radius = rdef area(self):
return 3.14*self.radius*self.radiusclass Rectangle(Shape):
def __init__(self, h, w):
self.height = h
self.width = wdef area(self):
return self.height*self.widthc = Circle(7)
r = Rectangle(5, 6)print(c.area()) # 输出153.86
print(r.area()) # 输出30
“`上述代码中,Shape是一个基类,Circle和Rectangle是继承自Shape的子类,它们实现了Shape中的area方法并进行了重写。当我们调用子类的area方法时,父类的方法会被自动覆盖,从而实现了多态性。
2023年05月09日 14:06