. 已知People类里含有属性monry初始值为20需求:定义方法一个方法让人可以赚钱(通过键盘输入钱输,钱可增加)创建一个子类ChinaPeople,重写父类方法,实现中国人赚钱(通过键盘输入钱输,钱可增加)
时间: 2024-02-27 16:51:51 浏览: 53
好的,我来为你解答这个问题。
首先,我们需要在People类中定义一个方法,让人可以赚钱。这个方法可以命名为earn_money,接受一个参数money,用来表示赚到的钱数。在这个方法中,我们可以将传入的money参数加到原有的money属性上,表示赚到了这么多钱。
代码如下:
```
class People:
def __init__(self):
self.money = 20
def earn_money(self, money):
self.money += money
```
接下来,我们需要创建一个子类ChinaPeople,重写earn_money方法,实现中国人赚钱。在ChinaPeople类中,我们可以调用父类的earn_money方法,同时加上一些特定的逻辑,比如说打印出“赚了多少钱”等等。
代码如下:
```
class ChinaPeople(People):
def earn_money(self, money):
super().earn_money(money)
print("我赚了{}元钱!".format(money))
```
这样,我们就完成了题目要求的定义方法让人可以赚钱,以及创建ChinaPeople子类并重写earn_money方法的任务。
你可以试着运行以下代码,看看效果:
```
p = People()
print(p.money) # 输出20,即初始钱数
p.earn_money(50)
print(p.money) # 输出70,表示赚到了50元钱
c = ChinaPeople()
c.earn_money(100) # 输出“我赚了100元钱!”
print(c.money) # 输出120,表示赚到了100元钱
```
阅读全文