某公司对销售人员(Sales)每月工资的计算公式如下:固定工资(salary)+销售提成(project)。经理(Manager)的固定工资为8000元,每个项目提成5%;副经理(Vice_Manager)的固定工资为6000元,每个项目提成4%;普通销售(Employee)的固定工资为5000元,项目提成3%。定义销售抽象类,派生不同级别的销售类,编写程序求若干销售人员的月工资。要求多态来实现。
时间: 2024-02-06 16:10:25 浏览: 21
以下是实现上述要求的示例代码:
```python
# 定义销售抽象类
class Sales:
def __init__(self, salary):
self.salary = salary
def get_salary(self, project):
pass
# 经理类
class Manager(Sales):
def __init__(self, salary=8000):
super().__init__(salary)
def get_salary(self, project):
return self.salary + project * 0.05
# 副经理类
class Vice_Manager(Sales):
def __init__(self, salary=6000):
super().__init__(salary)
def get_salary(self, project):
return self.salary + project * 0.04
# 普通销售类
class Employee(Sales):
def __init__(self, salary=5000):
super().__init__(salary)
def get_salary(self, project):
return self.salary + project * 0.03
# 测试程序
def main():
manager = Manager()
vice_manager = Vice_Manager()
employee = Employee()
print("经理月工资为:", manager.get_salary(10)) # 经理月工资为: 8500.0
print("副经理月工资为:", vice_manager.get_salary(10)) # 副经理月工资为: 6400.0
print("普通销售月工资为:", employee.get_salary(10)) # 普通销售月工资为: 5300.0
if __name__ == '__main__':
main()
```
在上述代码中,我们定义了一个 `Sales` 抽象类,其中包含一个固定工资属性 `salary` 和一个抽象方法 `get_salary`。然后我们派生出了三个不同级别的销售类 `Manager`、`Vice_Manager` 和 `Employee`,并重写了 `get_salary` 方法。具体来说,`Manager` 类的提成比例为 5%、`Vice_Manager` 类的提成比例为 4%、`Employee` 类的提成比例为 3%。最后在测试程序中,我们创建了三个不同级别的销售对象,并调用它们的 `get_salary` 方法来计算月工资。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)