实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个方法add用于涨工资,普通员工一次能涨10%,经理能涨20%。具体要求如下:\n(1)Person类中的属性有:姓名name、地址address,定义该类的构造方法; \n(2)Employee类中的属性有:工号id、工资wage、工龄workAge,定义该类的构造方法; \n(3)Manager类中的属性有:级别level,定义该类的构造方法; \n(4)编写一个测试类,创建一个员工和一个经理对象,给该员工和经理涨工资,并输出其具有的信息。
时间: 2023-11-27 16:55:13 浏览: 110
可以使用如下代码实现:
```python
class Person:
def __init__(self, name, address):
self.name = name
self.address = address
class Employee(Person):
def __init__(self, name, address, id, wage, workAge):
super().__init__(name, address)
self.id = id
self.wage = wage
self.workAge = workAge
def add(self):
self.wage *= 1.1
class Manager(Employee):
def __init__(self, name, address, id, wage, workAge, level):
super().__init__(name, address, id, wage, workAge)
self.level = level
def add(self):
self.wage *= 1.2
emp = Employee('Tom', 'Beijing', '001', 5000, 3)
man = Manager('John', 'Shanghai', '002', 8000, 5, 'senior')
emp.add()
man.add()
print('Employee:', emp.name, emp.address, emp.id, emp.wage, emp.workAge)
print('Manager:', man.name, man.address, man.id, man.wage, man.workAge, man.level)
```
输出结果:
```
Employee: Tom Beijing 001 5500.0 3
Manager: John Shanghai 002 9600.0 5 senior
```
说明:该程序中,我们定义了一个 Person 类,它包含了 name 和 address 两个属性,即姓名和地址。然后,我们定义了一个 Employee 类,它继承了 Person 类,同时添加了 id、wage 和 workAge 三个属性,即工号、工资和工龄。Employee 类中还有一个 add 方法,用于给员工涨工资,每次涨幅为 10%。接着,我们定义了一个 Manager 类,它继承了 Employee 类,同时添加了 level 属性,即级别。Manager 类中也有一个 add 方法,用于给经理涨工资,每次涨幅为 20%。最后,我们创建了一个 Employee 对象和一个 Manager 对象,并分别调用它们的 add 方法给它们涨工资,然后输出它们的信息。
阅读全文