使用【python】写【文本相似度分析】的代码长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用多态的知识设计程序可以计算不同图形的面积和周长
时间: 2024-11-03 14:23:25 浏览: 29
在Python中,我们可以使用多态来编写一个通用的图形类,然后让具体的形状如矩形和圆分别继承这个基础类并提供各自的特定属性和方法。以下是一个简单的例子:
```python
# 定义一个抽象的图形基类
class Shape:
def __init__(self):
pass
# 抽象方法,需要由子类实现
def perimeter(self):
raise NotImplementedError("Subclass must implement this method")
def area(self):
raise NotImplementedError("Subclass must implement this method")
# 矩形类继承Shape并实现方法
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def perimeter(self):
return 2 * (self.length + self.width)
def area(self):
return self.length * self.width
# 圆形类同样继承Shape并实现方法
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def perimeter(self):
return 2 * 3.14 * self.radius # 假设π取3.14
def area(self):
return 3.14 * self.radius ** 2
# 示例:利用多态计算图形的周长和面积
def calculate_properties(shape):
if isinstance(shape, Rectangle):
print(f"Rectangle: Perimeter={shape.perimeter()}, Area={shape.area()}")
elif isinstance(shape, Circle):
print(f"Circle: Perimeter={shape.perimeter()}, Area={shape.area()}")
else:
print("Unsupported shape.")
# 创建实例并计算
rectangle = Rectangle(5, 3)
circle = Circle(2)
calculate_properties(rectangle) # 输出矩形信息
calculate_properties(circle) # 输出圆形信息
```
在这个例子中,`calculate_properties`函数通过多态接收不同类型的图形对象,并调用它们各自的方法来计算周长和面积。
阅读全文