python设计长方形类Rect和正方形类Squa,每个类均包含计算周长和面积的方法,长方形默认宽为20,正方形默认边长为10,长方形类以正方形类为基类,长方形的构造函数中有调用正方形的构造函数,长方形重写正方形基类中的计算周长和面积的方法。
时间: 2024-10-19 13:02:52 浏览: 38
python图像缺陷识别算法-计算机视觉:图像分类定位(单一目标检测)python实现....pdf
5星 · 资源好评率100%
在Python中,我们可以创建一个名为`Rect`的长方形类和一个名为`squa`的简写形式的正方形类,以体现继承和多态的概念。首先,让我们定义这两个类:
```python
class Square(Square):
def __init__(self, side=10): # 正方形类,默认边长为10
self.side = side
# 定义计算面积和周长的方法
def area(self):
return self.side ** 2
def perimeter(self):
return 4 * self.side
class Rect(Rectangle): # 长方形类继承自Square类,使用Rectangle作为类名防止冲突
def __init__(self, length=20, width=20): # 长方形默认宽也为20,但长度可以自定义
super().__init__(width) # 调用正方形的构造函数,传入宽度
self.length = length
# 重写正方形的计算周长方法,添加长度的计算
def perimeter(self):
return 2 * (self.length + self.side)
# 保持计算面积的方法不变,因为正方形的面积只依赖于一边
def area(self):
return self.side ** 2
# 示例使用
rect = Rect(25, 15)
print(f"长方形的周长: {rect.perimeter()}")
print(f"长方形的面积: {rect.area()}")
square = Square()
print(f"正方形的周长: {square.perimeter()}")
print(f"正方形的面积: {square.area()}")
```
阅读全文