按下列要求编程: ( 1 ) 定义一个描述矩形的类Rectangle,包括的数据成员有宽(width)和长(length); ( 2 ) 计算矩形周长; ( 3 ) 计算矩形面积 ( 4 ) 改变矩形大小 通过类的设计并测试其正确性。
时间: 2023-11-29 16:05:08 浏览: 141
下面是一个可能的实现:
```python
class Rectangle:
def __init__(self, width, length):
self.width = width
self.length = length
def perimeter(self):
return 2 * (self.width + self.length)
def area(self):
return self.width * self.length
def resize(self, new_width, new_length):
self.width = new_width
self.length = new_length
```
这个类有一个构造函数,接受宽和长作为参数,并将它们存储为对象的数据成员。它还有三个方法:
- `perimeter` 方法计算矩形的周长,使用公式 `2 * (width + length)`。
- `area` 方法计算矩形的面积,使用公式 `width * length`。
- `resize` 方法改变矩形的大小,接受新的宽和长作为参数,并将对象的数据成员更新为新值。
下面是一个简单的测试例子:
```python
r = Rectangle(5, 10)
print("原始宽度:", r.width)
print("原始长度:", r.length)
print("原始周长:", r.perimeter())
print("原始面积:", r.area())
r.resize(8, 12)
print("新宽度:", r.width)
print("新长度:", r.length)
print("新周长:", r.perimeter())
print("新面积:", r.area())
```
输出应该是:
```
原始宽度: 5
原始长度: 10
原始周长: 30
原始面积: 50
新宽度: 8
新长度: 12
新周长: 40
新面积: 96
```
这个例子创建了一个宽度为5、长度为10的矩形,并计算了其周长和面积。然后,使用 `resize` 方法将其大小更改为宽度为8、长度为12,并再次计算其周长和面积。
阅读全文