编程实现一个简单的大学人员管理程序,该程序可以管理大学的一些基本人员:学生、教师、职工。首先设计一个抽象类person。
时间: 2024-12-29 19:33:32 浏览: 40
在编写一个简单的大学人员管理系统时,我们可以先创建一个名为`Person`的抽象类作为所有员工的基础类型,它将包含一些共有的属性如姓名、ID等,并提供一些通用的方法,例如获取信息、设置信息等。然后分别为学生、教师和职工这三个角色创建具体的子类。
```python
from abc import ABC, abstractmethod
# 抽象类 Person
class Person(ABC):
def __init__(self, id, name):
self.id = id
self.name = name
@abstractmethod
def get_info(self):
pass
@abstractmethod
def set_info(self, new_name=None):
pass
# 子类 Student
class Student(Person):
def __init__(self, id, name, major):
super().__init__(id, name)
self.major = major
def get_info(self):
return f"Student ID: {self.id}, Name: {self.name}, Major: {self.major}"
# 实现 set_info 方法
def set_info(self, new_name=None, new_major=None):
if new_name:
self.name = new_name
if new_major:
self.major = new_major
# 子类 Teacher
class Teacher(Person):
def __init__(self, id, name, department):
super().__init__(id, name)
self.department = department
def get_info(self):
return f"Teacher ID: {self.id}, Name: {self.name}, Department: {self.department}"
# 实现 set_info 方法同上
# 子类 Staff
class Staff(Person):
def __init__(self, id, name, position):
super().__init__(id, name)
self.position = position
def get_info(self):
return f"Staff ID: {self.id}, Name: {self.name}, Position: {self.position}"
# 实现 set_info 方法同上
```
在这个例子中,每个具体的子类都实现了`get_info()`和`set_info()`方法,同时添加了特定于该类型的属性,比如学生的专业、老师的部门和工作人员的职位。用户可以根据需要实例化并操作这些类的对象,体现出多态性。
阅读全文
相关推荐














