5.3

python面向对象基础训练
• 所花时间:5
• 代码行数:194
• 博客容量:1
• 代码如下:

class People:
    def __init__(self, name, gender, age):
        self.name = name
        self.gender = gender
        self.age = age

    def display(self):
        print("姓名:", self.name)
        print("性别:", self.gender)
        print("年龄:", self.age)


class Student(People):
    def __init__(self, name, gender, age, student_id, admission_date, admission_score):
        super().__init__(name, gender, age)
        self.student_id = student_id
        self.admission_date = admission_date
        self.admission_score = admission_score

#打印方法
    def display(self):
        super().display()
        print("学号:", self.student_id)
        print("入学时间", self.admission_date)
        print("入学成绩:", self.admission_score)


class Teacher(People):
    def __init__(self, name, gender, age, position, department, working_years):
        super().__init__(name, gender, age)
        self.position = position
        self.department = department
        self.working_years = working_years

    def display(self):
        super().display()
        print("职位:", self.position)
        print("部门:", self.department)
        print("工龄:", self.working_years)


class Graduate(Student):
    def __init__(self, name, gender, age, student_id, admission_date, admission_score, research_area, supervisor):
        super().__init__(name, gender, age, student_id, admission_date, admission_score)
        self.research_area = research_area
        self.supervisor = supervisor

    def display(self):
        super().display()
        print("研究方向:", self.research_area)
        print("导师:", self.supervisor)


class GradOnWork(Graduate):
    def __init__(self, name, gender, age, student_id, admission_date, admission_score, research_area, supervisor,
                 employment_date, employer):
        super().__init__(name, gender, age, student_id, admission_date, admission_score, research_area, supervisor)
        self.employment_date = employment_date
        self.employer = employer

    def display(self):
        super().display()
        print("工作时间:", self.employment_date)
        print("Employer:", self.employer)


def main():
    # 创建对象并测试
    p = People("小军", "男", 25)
    print("人员信息:")
    p.display()
    print()

    s = Student("小丽", "女", 20, "S001", "2022-09-01", 95)
    print("学生信息:")
    s.display()
    print()

    t = Teacher("小刚", "男", 35, "Professor", "Computer Science", 10)
    print("教师信息:")
    t.display()
    print()

    g = Graduate("小红", "女", 22, "G001", "2020-09-01", 88, "Machine Learning", "Dr. Smith")
    print("毕业信息:")
    g.display()
    print()

    gw = GradOnWork("小明", "男", 24, "G002", "2021-09-01", 90, "Data Science", "某某", "2024-03-15", "ABC Company")
    print("毕业工作信息:")
    gw.display()


if __name__ == "__main__":
    main()



posted @ 2024-05-03 18:15  aallofitisst  阅读(18)  评论(0)    收藏  举报