声明一个 Shape(形状)基类,它有两个派生类:Circle(圆)和 Square(正方形)。 要求:(1)根据给出的圆心坐标和半径计算圆的面积;(2)根据给出的正方形中点坐标 和一个顶点坐标计算正方形的面积。提示:Shape 类的数据成员包括中心点的坐标,Circle 类中新增一个数据成员,即圆的半径,Square 类新增一个顶点的坐标。
时间: 2024-04-17 17:26:15 浏览: 166
你可以这样声明一个 Shape(形状)基类,它有两个派生类:Circle(圆)和 Square(正方形):
```python
class Shape:
def __init__(self, x, y):
self.x = x
self.y = y
class Circle(Shape):
def __init__(self, x, y, radius):
super().__init__(x, y)
self.radius = radius
def calculate_area(self):
return 3.14 * self.radius * self.radius
class Square(Shape):
def __init__(self, x, y, vertex):
super().__init__(x, y)
self.vertex = vertex
def calculate_area(self):
side_length = abs(self.x - self.vertex[0]) * 2
return side_length * side_length
```
在上面的代码中,`Shape` 是一个基类,它有两个数据成员 `x` 和 `y`,表示形状的中心点的坐标。`Circle` 是 `Shape` 的派生类,它新增了一个数据成员 `radius` 表示圆的半径。`Square` 也是 `Shape` 的派生类,它新增了一个数据成员 `vertex` 表示正方形的一个顶点的坐标。
每个类都有一个 `calculate_area` 方法用来计算形状的面积。在 `Circle` 类中,我们使用公式 π * r^2 计算圆的面积,其中 `r` 是圆的半径。在 `Square` 类中,我们使用正方形的边长的平方来计算面积,边长可以通过中心点坐标和顶点坐标计算得到。
你可以根据需要创建 `Circle` 或 `Square` 的对象,并调用 `calculate_area` 方法来计算面积。
阅读全文