python面向对象管理系统
时间: 2025-01-02 21:43:45 浏览: 10
### Python 面向对象编程实现管理系统
#### 创建基本框架
Python 的面向对象编程(OOP)允许创建复杂的管理系统,这些系统能够有效地处理各种业务逻辑。为了构建一个简单的员工管理系统,可以从定义基础类 `Employee` 开始。
```python
class Employee:
"""表示一名雇员的基础信息"""
def __init__(self, name, position):
self.name = name
self.position = position
def display_info(self):
return f"Name: {self.name}, Position: {self.position}"
```
此代码片段展示了如何使用 OOP 来封装数据和行为[^1]。
#### 扩展功能:引入继承机制
当需要扩展应用程序的功能时,比如增加不同类型的员工角色——经理和普通职员,则可以通过继承现有类并添加特定属性或方法来完成这一目标。
```python
class Manager(Employee):
"""表示管理层人员的信息"""
def __init__(self, name, department):
super().__init__(name, "Manager") # 调用父类构造函数设置职位为'Manager'
self.department = department
def manage_department(self):
return f"{self.name} manages the {self.department}."
class Staff(Employee):
"""表示一般工作人员的信息"""
def __init__(self, name, skills=None):
super().__init__(name, "Staff")
if not isinstance(skills, list):
self.skills = []
else:
self.skills = skills
def add_skill(self, new_skill):
self.skills.append(new_skill)
def show_skills(self):
skill_list = ", ".join(self.skills)
return f"{self.name}'s Skills are [{skill_list}]"
```
这里不仅实现了多态性,而且通过子类覆盖了部分父类的方法,体现了灵活性[^2]。
#### 动态交互界面
为了让这个小型应用更贴近实际需求,在命令行环境中加入一些互动元素会很有帮助:
```python
if __name__ == "__main__":
manager = Manager("Alice", "Sales")
staff_member = Staff("Bob", ["Coding", "Testing"])
print(manager.display_info())
print(staff_member.show_skills())
action = input("\nWhat would you like to do? (add/remove/exit)\n").lower()
while True:
if 'add' in action:
skill_to_add = input(f"\nEnter a skill for {staff_member.name}: ")
staff_member.add_skill(skill_to_add.strip())
print(f"Now {staff_member.name} has these skills:")
print(staff_member.show_skills())
elif 'remove' in action or 'exit' in action:
break
else:
print("Invalid command.")
break
```
这段脚本提供了简易的人机对话接口,让用户可以选择给员工添加技能等功能[^3]。
阅读全文