定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有一个GetArea()函数计算对象面积。使用Rectangle类创建一个派生类Square。
时间: 2024-05-11 13:16:17 浏览: 13
好的,你的第一个问题是关于面向对象编程的。下面是代码示例:
```python
class Shape:
def GetArea(self):
pass
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def GetArea(self):
return self.length * self.width
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def GetArea(self):
return 3.14 * self.radius ** 2
class Square(Rectangle):
def __init__(self, side):
super().__init__(side, side)
```
在这里,我们首先定义了一个基类 `Shape`,它包含一个 `GetArea` 函数。接着我们派生出了两个类 `Rectangle` 和 `Circle`,它们分别重写了 `GetArea` 函数来计算矩形和圆的面积。然后我们创建了一个派生类 `Square`,它继承了 `Rectangle` 类的属性和方法,并根据正方形的特点重写了构造函数。这样一来,我们就可以通过 `Square` 类快速创建正方形对象,并通过调用 `GetArea` 函数来计算面积。