义shape基类,基类中含求面积和求周长的方法;在此基础上派生出Circle类、Rectangle类,定义求面积及周长的方法,Square类继承Rectangle类。
时间: 2024-03-25 15:40:20 浏览: 80
好的,以下是代码示例:
```python
class Shape:
def __init__(self):
pass
def area(self):
pass
def perimeter(self):
pass
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
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length * self.width
def perimeter(self):
return 2 * (self.length + self.width)
class Square(Rectangle):
def __init__(self, side):
super().__init__(side, side)
```
在上述代码中,我们定义了一个名为Shape的基类,其中包含了两个方法:area()和perimeter(),用于求形状的面积和周长。我们在Circle类和Rectangle类中分别重写了这两个方法,并分别实现了求圆形面积和周长以及矩形面积和周长的功能。
接着,我们定义了一个Square类,继承自Rectangle类,因为正方形是一种矩形,只不过它的长和宽相等。因此,我们只需要在Square类中重写__init__()方法,将其两个参数设置为相等的即可,不需要再重写area()和perimeter()方法。
阅读全文