Python设计长方形类 Rect和正方形类Squa,每个类均包含计算周长和面积的方法,长方形默认宽为20,正方形默认边长为10,长方形类以正方形类为基类,长方形的构造函数中有调用正方形的构造函数,长方形重写正方形基类中的计算周长和面积的方法
时间: 2024-10-19 19:14:50 浏览: 47
java代码-编写一个类,类名为Rectangle(矩形),它有两个整型的变量width(宽)和height(高);有一个方法area(),没有参数,返回类型为double,功能是求矩形的面积;还有另一个方法为perimeter()没有参数,返回类型为double,功能是求矩形的周长
在Python中,我们可以创建一个名为`Rect`的长方形类和一个名为`Squa`的正方形类,它们都继承自`Squa`基类,因为长方形可以看作是特殊的正方形。以下是这两个类的设计:
```python
class Squra:
def __init__(self, side=10):
self.side = side
# 计算面积和周长的基础方法
def area(self):
return self.side ** 2
def perimeter(self):
return 4 * self.side
class Rect(Squra): # 长方形类继承自正方形类
def __init__(self, length=20):
super().__init__() # 调用正方形的构造函数初始化边长
self.length = length
# 重写正方形的周长方法,增加长度维度
def perimeter(self):
return 2 * (self.length + super().perimeter())
# 重写面积方法,保持面积不变,因为长方形面积等于长乘以宽
def area(self):
return self.length * super().area()
```
在这个设计中,`Rect`类的实例会自动拥有`Squa`类的所有属性和方法,并在此基础上增加了自己的特性。例如,当创建一个`Rect`对象时,可以通过`length`参数指定长方形的长度,而宽度默认为20。
阅读全文