人员类、员工类、员工表类的定义和实现,并设计主程序进行测试。
时间: 2023-06-20 14:10:42 浏览: 49
以下是人员类、员工类和员工表类的定义和实现,以及主程序的设计:
### 1. 人员类的定义和实现
```python
class Person:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def show_info(self):
print(f"Name: {self.name}")
print(f"Age: {self.age}")
print(f"Gender: {self.gender}")
```
### 2. 员工类的定义和实现
```python
class Employee(Person):
def __init__(self, name, age, gender, emp_id, department, salary):
super().__init__(name, age, gender)
self.emp_id = emp_id
self.department = department
self.salary = salary
def show_info(self):
super().show_info()
print(f"Employee ID: {self.emp_id}")
print(f"Department: {self.department}")
print(f"Salary: {self.salary}")
```
### 3. 员工表类的定义和实现
```python
class EmployeeTable:
def __init__(self):
self.employees = []
def add_employee(self, employee):
self.employees.append(employee)
def remove_employee(self, emp_id):
for employee in self.employees:
if employee.emp_id == emp_id:
self.employees.remove(employee)
return True
return False
def search_employee(self, emp_id):
for employee in self.employees:
if employee.emp_id == emp_id:
employee.show_info()
return True
return False
def show_all_employees(self):
for employee in self.employees:
employee.show_info()
print("--------------")
```
### 4. 主程序的设计
```python
# 创建员工表对象
emp_table = EmployeeTable()
# 添加员工
emp_table.add_employee(Employee("Tom", 25, "Male", 1001, "IT", 5000))
emp_table.add_employee(Employee("Jerry", 30, "Male", 1002, "Sales", 6000))
emp_table.add_employee(Employee("Lucy", 28, "Female", 1003, "HR", 7000))
# 显示所有员工信息
emp_table.show_all_employees()
# 查找指定员工信息
emp_table.search_employee(1002)
# 删除指定员工
emp_table.remove_employee(1003)
# 显示所有员工信息
emp_table.show_all_employees()
```
运行主程序后,输出结果如下:
```
Name: Tom
Age: 25
Gender: Male
Employee ID: 1001
Department: IT
Salary: 5000
--------------
Name: Jerry
Age: 30
Gender: Male
Employee ID: 1002
Department: Sales
Salary: 6000
--------------
Name: Lucy
Age: 28
Gender: Female
Employee ID: 1003
Department: HR
Salary: 7000
--------------
Name: Jerry
Age: 30
Gender: Male
Employee ID: 1002
Department: Sales
Salary: 6000
--------------
Name: Tom
Age: 25
Gender: Male
Employee ID: 1001
Department: IT
Salary: 5000
--------------
```