3、类与继承(20分)
(1)创建一个Person类,在构造函数中初始化名字name、年龄age、班级class属性,有对应的成员方法:吃饭eat,要求调用该方法时打印xx要吃
饭,xx指名字。
(5分)
(2)创建-一个 Worker类,要继承父类Person的所有数据成员和成员方法,
要使用继承方法继承,包括name、age、 class 属性。除此之外有自己的属性:
基本工资basic、绩效performance。并且Worker类有自己的成员方法:所得
税tax,所得税tax计算(总收入等于基本工资加绩效。总收入小于3000,税
额为零;大于3000,超过3000的部分,按20%收税),要求调用该方法时打
印“XX.,应纳税额为___” XXX 指名字,下划线部分要通过tax计算。(8分)
w1 = Worker(你的名字,你的年龄,你的班级,基本工资,绩效)对Worker类的
五种属性和两种方法进行测试,并输出结果,(7分)
class Person:
def __init__(self, name, age, class_):
self.name = name
self.age = age
self.class_ = class_
def eat(self):
print(self.name, "要吃饭", sep="")
class Worker(Person):
def __init__(self, name, age, class_, basic, performance):
super().__init__(name, age, class_)
self.basic = basic
self.performance = performance
def tax(self):
'''所得税计算'''
self.receipts = self.basic + self.performance #总收入
if self.receipts <= 3000: #总收入小于等于3000
print(self.name, ",应纳税额为0", sep="")
else:
taxnum = (self.receipts - 3000) * 0.2
taxnum = round(taxnum, 2) #税额保留2位小数
print(self.name, ",应纳税额为", taxnum, sep="")
def test():
w1 = Worker("小明", 20, 1, 5000, 500)
print(w1.name, w1.age, w1.class_, w1.basic, w1.performance)
w1.eat()
w1.tax()
if __name__ == "__main__":
test()
运行结果如下: