定义并测试一个代表员工的Employee类,员工属性包括“编号”、“姓名”、 “基本薪水”、“薪水增长 率”,还包括计算薪水增长额及计算增长后的工资总额的方法。该类要提供以下4个构造方法。 无参数构造方法:编号定义为“1000”,姓名定义为“无名氏”,其他内容均为默认值。 单参数构造方法:传递编号,姓名定义为“新员工”,基本薪水为“3000.0”,薪水增长率为“1%”。 三参数构造方法:传递编号,姓名,基本薪水,薪水增长率为“3%”。 四参数构造方法:所有的属性全部进行传递。
时间: 2023-10-01 22:09:55 浏览: 94
java代码-定义一个员工信息类Employee
好的,以下是Employee类的定义和测试代码:
```python
class Employee:
def __init__(self, emp_no='1000', name='无名氏', salary=0.0, increase_rate=0.0):
self.emp_no = emp_no
self.name = name
self.salary = salary
self.increase_rate = increase_rate
def __str__(self):
return f'编号:{self.emp_no},姓名:{self.name},基本薪水:{self.salary},薪水增长率:{self.increase_rate}'
def calculate_increase_amount(self):
return self.salary * self.increase_rate
def calculate_total_salary(self):
return self.salary + self.calculate_increase_amount()
# 测试代码
emp1 = Employee()
print(emp1)
print(f'薪水增长额:{emp1.calculate_increase_amount()},增长后的工资总额:{emp1.calculate_total_salary()}')
emp2 = Employee('1001', '新员工', 3000.0, 0.01)
print(emp2)
print(f'薪水增长额:{emp2.calculate_increase_amount()},增长后的工资总额:{emp2.calculate_total_salary()}')
emp3 = Employee('1002', '老员工', 5000.0, 0.03)
print(emp3)
print(f'薪水增长额:{emp3.calculate_increase_amount()},增长后的工资总额:{emp3.calculate_total_salary()}')
emp4 = Employee('1003', '高级员工', 8000.0, 0.05)
print(emp4)
print(f'薪水增长额:{emp4.calculate_increase_amount()},增长后的工资总额:{emp4.calculate_total_salary()}')
```
输出结果:
```
编号:1000,姓名:无名氏,基本薪水:0.0,薪水增长率:0.0
薪水增长额:0.0,增长后的工资总额:0.0
编号:1001,姓名:新员工,基本薪水:3000.0,薪水增长率:0.01
薪水增长额:30.0,增长后的工资总额:3030.0
编号:1002,姓名:老员工,基本薪水:5000.0,薪水增长率:0.03
薪水增长额:150.0,增长后的工资总额:5150.0
编号:1003,姓名:高级员工,基本薪水:8000.0,薪水增长率:0.05
薪水增长额:400.0,增长后的工资总额:8400.0
```
阅读全文