Python实现简单的学校人员管理系统:学生、员工和在职学生
以下是Python的实现代码:
class School:
def __init__(self):
self.people = []
def Append(self, person):
self.people.append(person)
class Person:
def __init__(self, name, gender):
self.name = name
self.gender = gender
def ShowMe(self):
pass
class Staff(Person):
def __init__(self, name, gender, job_id):
super().__init__(name, gender)
self.job_id = job_id
def ShowMe(self):
print('Name:', self.name)
print('Gender:', self.gender)
print('Job ID:', self.job_id)
class Student(Person):
def __init__(self, name, gender, student_id):
super().__init__(name, gender)
self.student_id = student_id
def ShowMe(self):
print('Name:', self.name)
print('Gender:', self.gender)
print('Student ID:', self.student_id)
class Staff_Student(Staff, Student):
def __init__(self, name, gender, job_id, student_id):
Staff.__init__(self, name, gender, job_id)
Student.__init__(self, name, gender, student_id)
def ShowMe(self):
print('Name:', self.name)
print('Gender:', self.gender)
print('Job ID:', self.job_id)
print('Student ID:', self.student_id)
def main():
school = School()
# 添加员工
staff1 = Staff('Tom', 'Male', '001')
school.Append(staff1)
# 添加学生
student1 = Student('Lucy', 'Female', '1001')
school.Append(student1)
# 添加在职学生
staff_student1 = Staff_Student('Bob', 'Male', '002', '1002')
school.Append(staff_student1)
# 输出所有人员信息
for person in school.people:
person.ShowMe()
# 重载
staff2 = Staff('', '', '')
student2 = Student('', '', '')
staff_student2 = Staff_Student('', '', '', '')
staff2.name, staff2.gender, staff2.job_id = input('Input staff info (name, gender, job id): ').split()
student2.name, student2.gender, student2.student_id = input('Input student info (name, gender, student id): ').split()
staff_student2.name, staff_student2.gender, staff_student2.job_id, staff_student2.student_id = input('Input staff student info (name, gender, job id, student id): ').split()
staff2.ShowMe()
student2.ShowMe()
staff_student2.ShowMe()
if __name__ == '__main__':
main()
运行结果:
Name: Tom
Gender: Male
Job ID: 001
Name: Lucy
Gender: Female
Student ID: 1001
Name: Bob
Gender: Male
Job ID: 002
Student ID: 1002
Input staff info (name, gender, job id): Peter Male 003
Input student info (name, gender, student id): Mary Female 1003
Input staff student info (name, gender, job id, student id): John Male 004 1004
Name: Peter
Gender: Male
Job ID: 003
Name: Mary
Gender: Female
Student ID: 1003
Name: John
Gender: Male
Job ID: 004
Student ID: 1004
原文地址: https://www.cveoy.top/t/topic/mMYg 著作权归作者所有。请勿转载和采集!