用python创建一个名为Shape的类,并在其中定义一个计算周长的方法。创建两个子类,Rectangle和Circle,它们都应该继承自Shape类。分别在这两个子类中重写计算周长的方法,以便能够准确地计算矩形和圆形的周长。
时间: 2024-02-18 10:03:54 浏览: 68
设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法
5星 · 资源好评率100%
好的,这是一个简单的代码示例:
```python
import math
class Shape:
def calculate_perimeter(self):
pass
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def calculate_perimeter(self):
return 2 * (self.length + self.width)
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def calculate_perimeter(self):
return 2 * math.pi * self.radius
```
在上面的代码中,我们首先定义了一个名为Shape的类,其中包含一个名为calculate_perimeter()的抽象方法,该方法在子类中进行实现。接下来,我们定义了两个子类Rectangle和Circle,它们都继承自Shape类,并分别重写了calculate_perimeter()方法以计算矩形和圆形的周长。
在Rectangle类中,我们定义了__init__()方法以初始化矩形的长度和宽度,然后重写了calculate_perimeter()方法,该方法使用矩形的长度和宽度计算周长并返回。
在Circle类中,我们定义了__init__()方法以初始化圆形的半径,然后重写了calculate_perimeter()方法,该方法使用圆的半径计算周长并返回。
现在,我们可以创建Rectangle和Circle的实例并调用它们的calculate_perimeter()方法来计算它们的周长。例如:
```python
r = Rectangle(2, 3)
print("Rectangle perimeter:", r.calculate_perimeter())
c = Circle(5)
print("Circle perimeter:", c.calculate_perimeter())
```
输出结果应该为:
```
Rectangle perimeter: 10
Circle perimeter: 31.41592653589793
```
阅读全文