• Python学习————作业(面向对象)


    选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合

    1、学校数据与功能整合

    # 学校
    class School:
        def __init__(self, school_name, school_site, school_id):  # 校名 校址 学校编号
            self.sch_name = school_name
            self.sch_site = school_site
            self.sch_id = school_id
    
        def add_class(self, class_name, class_id):
            class_add = Class(class_name, class_id)
            return class_add
    

    2、课程数据与功能进行整合

    # 课程
    class Course:
        def __init__(self, course_name, circle, price):  # 课程名  课程周期 价格
            self.cou_name = course_name
            self.circle = circle
            self.price = price
    

    3、学生数据与功能进行整合

    # 学生
    class Studnet:
        def __init__(self, student_name, student_age, student_number, student_sex, school):  # 学生名 年龄 学号 性别 学校
            self.stu_name = student_name
            self.stu_age = student_age
            self.stu_num = student_number
            self.stu_sex = student_sex
            self.set_sch = school
    
        def choice_class(self, class_name, class_id):
            self.stu_class_name = class_name
            self.stu_class_id = class_id
    

    4、讲师数据与功能进行整合

    # 教师
    class Teacher:
        def __init__(self, teacher_name, teacher_age, teacher_number, teacher_sex, teacher_salary, teacher_level,
                     school):  # 教师名 年龄 工号 性别 工资 等级 学校
            self.tea_name = teacher_name
            self.tea_age = teacher_age
            self.tea_num = teacher_number
            self.tea_sex = teacher_sex
            self.tea_salary = teacher_salary
            self.tea_level = teacher_level
            self.tea_school = school
    
        def stu_grade(self, student, grade):
            student.grade = grade
    

    5、班级数据与功能进行整合

    # 班级
    class Class:
        def __init__(self, class_name, class_id):  # 班名 班级编号
            self.cla_name = class_name
            self.cla_id = class_id
    
        def add_course(self, course_name, circle, price):
            course_add = Course(course_name, circle, price)
            return course_add
    

    ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合

    数据部分:
    校区的名字:如"老男孩上海校区"
    校区的地址:如"上海虹桥"

     班级名字
     班级所在校区
    
     学生的学校
     学生的姓名
     学生的年龄
     学号
     学生的性别
    
     课程名字
     课程周期
     课程价格
    
     老师的名字
     老师的年龄
     老师的薪资
     老师的等级
    

    功能部分:
    校区创建完毕后,可以为每个校区创建班级

     班级创建完毕后,可以为每个班级创建课程
    
     学生创建完毕后,学生可以选择班级
    
     老师创建完毕后,可以为学生打分
  • 相关阅读:
    LeetCode
    LeetCode
    一篇真正教会你开发移动端页面的文章(一)
    移动端页面开发资源总结
    Vue 模板
    使用 concurrently 并行地运行多个命令(同时跑前端和后端的服务)
    值得H5前端学习的60个JS插件(含DEMO演示)
    解读浮动闭合最佳方案:clearfix
    JavaScript 如何工作的: 事件循环和异步编程的崛起 + 5 个关于如何使用 async/await 编写更好的技巧
    JavaScript 运行机制详解:再谈Event Loop
  • 原文地址:https://www.cnblogs.com/x945669/p/12656781.html
Copyright © 2020-2023  润新知