设计一个 NewCircle 类,继承 Circle 类,并添加新的属性颜色 color, 重写 get_info 方法,以输出该新对象的相关信息,例如输出信息为:这是 NewCircle 类的一个对象,半径为 r,颜色为 color(其中 r 和 color 输出当前对象的实 际值)。
时间: 2024-02-27 13:58:58 浏览: 132
好的,我可以帮你解答这个问题。
以下是 NewCircle 类的代码实现:
```python
class NewCircle(Circle):
def __init__(self, center, radius, color):
super().__init__(center, radius)
self.color = color
def get_info(self):
if self.radius is not None:
return "这是 NewCircle 类的一个对象,半径为{},颜色为{}".format(self.radius, self.color)
else:
return "这是 NewCircle 类的一个对象,半径未定义,颜色为{}".format(self.color)
```
在 NewCircle 类中,我们继承了 Circle 类,并添加了新的属性颜色 color。在 __init__ 方法中,我们调用了父类的构造方法,并额外添加了颜色属性。我们重写了 get_info 方法,用于输出该新对象的相关信息。在该方法中,我们利用 super() 函数调用了父类的 radius 属性,获取当前对象的实际半径值和颜色值,并输出相关信息。
现在,我们可以通过实例化 NewCircle 类来创建新的对象,该对象不仅包含了 Circle 类的属性和方法,还包含了新的属性和方法。例如:
```python
c = NewCircle(Point(0, 0), 5, "red")
print(c.get_info()) # 输出:这是 NewCircle 类的一个对象,半径为5,颜色为red
```
阅读全文