写一个子类 程序员 成员变量 工资 姓名 年龄 项目分红 成员方法 工作(打印:写代码) 吃饭 子类 经理 成员变量 工资 姓名 年龄 管理奖金 成员方法 工作(打印:管理员工) 吃饭 自己写一个父类,要求有子类的成员变量和成员方法 父类里面也要有个工作的方法,并且子类里面的工作方法要求用override重写
时间: 2024-03-23 19:40:18 浏览: 39
以员工为编写一个程序,定义如下类:以员工为父类,该类包含员工的基本信息:姓名、年龄、部门。创建两个子类:经理类和工人类,输出经理和工人的工资。在父类中编写getSalary()方法,在子类中覆盖,实现多态。
5星 · 资源好评率100%
以下是一个可能的实现:
```python
class Employee:
def __init__(self, name, age, salary, bonus):
self.name = name
self.age = age
self.salary = salary
self.bonus = bonus
def work(self):
print(f"{self.name} is writing code.")
def eat(self):
print(f"{self.name} is eating.")
class Programmer(Employee):
def __init__(self, name, age, salary, bonus):
super().__init__(name, age, salary, bonus)
def work(self):
print(f"{self.name} is writing code.")
class Manager(Employee):
def __init__(self, name, age, salary, bonus):
super().__init__(name, age, salary, bonus)
def work(self):
print(f"{self.name} is managing employees.")
def eat(self):
print(f"{self.name} is eating with clients.")
```
在这个实现中,`Employee` 是一个父类,`Programmer` 和 `Manager` 是两个子类。它们都继承了 `Employee` 的成员变量 `name`、`age`、`salary` 和 `bonus`,以及成员方法 `work` 和 `eat`。
在 `Programmer` 和 `Manager` 中,我们使用了 `super()` 来调用父类的构造函数,并初始化了父类的成员变量。同时,我们在 `Programmer` 中重写了 `work` 方法,并在 `Manager` 中重写了 `work` 和 `eat` 方法。
这样,我们就可以创建 `Programmer` 和 `Manager` 对象,并调用它们的成员方法了。例如:
```python
p = Programmer('Alice', 25, 5000, 1000)
p.work() # Output: Alice is writing code.
p.eat() # Output: Alice is eating.
m = Manager('Bob', 35, 8000, 2000)
m.work() # Output: Bob is managing employees.
m.eat() # Output: Bob is eating with clients.
```
阅读全文