设计一个基类Shape,包括: 名为sName的属性(图形名称); 构造函数应对sName属性进行初始化。 设计Shape的继承类Rectangle, 包括: 长,宽两个属性; 构造函数调用Shape的构造函数,并初始化长,宽两个属性; getArea()成员函数计算并返回矩形面积。 设计Shape的继承类Circle,包括: 半径属性; 构造函数调用Shape的构造函数,并初始化半径属性; getArea()成员函数计算并返回圆形面积。 注意:请结合程序以理解题目对类的接口的要求。
时间: 2024-03-10 19:45:56 浏览: 69
关于C++的程序设计编程题
好的,下面是对应的Python代码:
```python
class Shape:
def __init__(self, sName):
self.sName = sName
class Rectangle(Shape):
def __init__(self, sName, length, width):
super().__init__(sName)
self.length = length
self.width = width
def getArea(self):
return self.length * self.width
class Circle(Shape):
def __init__(self, sName, radius):
super().__init__(sName)
self.radius = radius
def getArea(self):
return 3.14 * self.radius * self.radius
```
这里定义了一个`Shape`基类,包含了`sName`属性和构造函数,用于初始化`sName`属性。然后定义了两个继承自`Shape`基类的子类`Rectangle`和`Circle`,分别用于表示矩形和圆形,这两个类都重写了`getArea`方法,实现了具体的计算逻辑。在`Rectangle`类中,需要用到矩形的面积公式,而在`Circle`类中,则需要用到圆的面积公式。在子类的构造函数中,需要调用父类的构造函数,同时也需要初始化相应的属性。
阅读全文