以下是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
Python实现简单的学校人员管理系统:学生、员工和在职学生

原文地址: https://www.cveoy.top/t/topic/mMYg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录