头歌设计一个 Shape 类和它的两个子类 Square 和 Circle。Shape 类表达二维形状概念,Square 表达正方形, Circle 表达圆形。
时间: 2024-01-21 21:18:08 浏览: 42
好的,以下是一个简单的实现:
```python
class Shape:
def __init__(self):
pass
def area(self):
pass
def perimeter(self):
pass
class Square(Shape):
def __init__(self, side):
self.side = side
def area(self):
return self.side ** 2
def perimeter(self):
return 4 * self.side
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius ** 2
def perimeter(self):
return 2 * 3.14 * self.radius
```
在这个实现中,`Shape` 是一个基类,它定义了一个 `area()` 和 `perimeter()` 方法,但是这些方法并没有具体的实现。`Square` 和 `Circle` 类都继承自 `Shape` 类,并且覆盖了 `area()` 和 `perimeter()` 方法以提供具体实现。
`Square` 类有一个 `side` 属性,表示正方形的边长,`Circle` 类有一个 `radius` 属性,表示圆形的半径。在 `Square` 和 `Circle` 类中,`area()` 方法计算正方形和圆形的面积,`perimeter()` 方法计算它们的周长。