使用继承,设计人类、员工类(可以分为普通员工类和经理类);设计涨薪方法,如果为普通员工则涨薪后工资为原来1.1倍,如果是中层领导则涨薪后工资为原来1.2倍。
时间: 2023-06-02 17:03:52 浏览: 102
好的,您的问题属于编程类问题,我可以回答。设计思路如下:
首先,设计一个人类(Person)作为员工类和经理类的父类,包括属性:姓名、年龄等。
然后,设计一个员工类(Employee)和一个经理类(Manager)作为 Person 类的子类,包括属性:工资、职位等。
在父类中定义一个涨薪方法,接收一个参数表示涨薪的倍数,根据参数修改工资属性。在两个子类中重写该方法,分别实现不同的涨薪倍数,实现普通员工涨薪1.1倍,中层领导涨薪1.2倍的功能。
设计代码如下:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def increase_salary(self, times):
"""涨薪方法"""
pass
class Employee(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
self.salary = salary
def increase_salary(self, times=1.1):
self.salary *= times
class Manager(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
self.salary = salary
def increase_salary(self, times=1.2):
self.salary *= times
```
这个设计中,Person 类作为父类,并包括了一个涨薪方法,子类 Employee 和 Manager 分别继承了父类的属性和方法,重写了涨薪方法实现自己的具体涨薪操作。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)
![](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)