for循环体现多态

This commit is contained in:
2026-10-07 21:16:54 +08:00
parent 2a89b2278e
commit 15eb607fb4
+8 -2
View File
@@ -2,13 +2,19 @@ class Shape:
def area(self):
return 0
class Circle(area):
class Circle(Shape):
def __init__(self, r):
self.r = r
def area(self):
return 3.14 * self.r * self.r
class Square(area):
class Square(Shape):
def __init__(self, side):
self.side = side
def area(self):
return self.side * self.side
r = float(input("请输入半径r:"))
side = float(input("请输入边长side: "))
shapes = [Circle(r), Square(side)]
for i in shapes:
print(i.__class__.__name__, "面积为:", i.area())