以下是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
建立一个简单的学校人员管理系统包括对学生、员工和在职学生既是员工又是学生的管理。需要完成如下功能: 1、建立一个School类在其中定义增加人员的Append函数。 2、建立一个基类Person类要具有姓名和性别的属性并把输出函数ShowMe定义为虚函数; 3、建立一个员工Staff类和一个学生类Student均由Person继承而来。要求可以输出员工类学生类对象的属性姓名、性别和工作证号码或学生

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

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