3.请编写一个基类Shape,在此基础上派生出类Rectangle和Circle,二者都有计算对象面积的函数getArea()、计算对象周长的函数getPerim()。
时间: 2024-02-20 08:02:42 浏览: 62
定义三个类Point,Circle和Cylinder,Point类为基类,为上述3个类添加计算面积的成员函数Area(),要求函数Area()采用虚函数的形式,并通过基类指针调用虚函数Area()。
5星 · 资源好评率100%
好的,下面是代码实现:
```python
class Shape:
def getArea(self):
pass
def getPerim(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def getArea(self):
return self.width * self.height
def getPerim(self):
return 2 * (self.width + self.height)
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def getArea(self):
return 3.14 * self.radius ** 2
def getPerim(self):
return 2 * 3.14 * self.radius
```
在这里,我们定义了一个基类Shape,然后派生出了Rectangle和Circle两个子类,并在子类中实现了计算面积和周长的函数getArea()和getPerim()。Rectangle和Circle都继承了基类Shape的方法,这样我们就可以通过多态的方式调用这些方法。
阅读全文