实现一个名为“Rectangle”的表示矩形的类,该类包含两个实例属性 width和height,都是可读写的property,分别表示矩形的宽和高(宽高都大于0)。同时,还有一个名为area()的方法,是一个只读的property,该方法返回矩形的面积。
时间: 2024-11-24 17:43:08 浏览: 4
在Python中,我们可以创建一个名为`Rectangle`的类,通过定义`width`和`height`为`property`装饰器的属性,以及一个计算面积的方法`area`。这样做的目的是为了保护数据的完整性,确保宽度和高度始终大于0,并提供方便的访问方式。
```python
class Rectangle:
def __init__(self, width, height):
if width > 0 and height > 0:
self._width = width
self._height = height
else:
raise ValueError("宽度和高度必须大于0")
@property
def width(self):
return self._width
@width.setter
def width(self, value):
if value > 0:
self._width = value
else:
raise ValueError("宽度必须大于0")
@property
def height(self):
return self._height
@height.setter
def height(self, value):
if value > 0:
self._height = value
else:
raise ValueError("高度必须大于0")
@property
def area(self):
return self._width * self._height
# 示例
rect = Rectangle(5, 4)
print(rect.width, rect.height) # 输出:5 4
print(rect.area) # 输出:20
rect.width = 6 # 修改宽度
print(rect.area) # 输出:24
```
在这个例子中,尝试设置负数或零宽度或高度将引发`ValueError`异常。
阅读全文