作业4月7号

选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
# 1、学校数据与功能整合
# 2、课程数据与功能进行整合
# 3、学生数据与功能进行整合
# 4、讲师数据与功能进行整合
# 5、班级数据与功能进行整合
ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合

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

  班级名字、班级所在校区

  学生的学校、学生的姓名、学生的年龄、学号、学生的性别

  课程名字、课程周期、课程价格

  老师的名字、老师的年龄、老师的薪资、老师的等级


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

  班级创建完毕后,可以为每个班级创建课程

  学生创建完毕后,学生可以选择班级

  老师创建完毕后,可以为学生打分

class School:
    def __init__(self, name, address):
        self.name = name
        self.address = address
        self.classes = []

    def add_class(self, classes):
        self.classes.append(classes)


class Classes:
    def __init__(self, name, school):
        self.name = name
        self.school = school
        self.courses = []

    def add_course(self, course):
        self.courses.append(course)


class Course:
    def __init__(self, name, period, price):
        self.name = name
        self.period = period
        self.price = price



class Student:
    
    school = School('老男孩上海校区', '上海虹桥')
    
    def __init__(self, name, age, id, gender):
        self.name = name
        self.age = age
        self.id = id
        self.gender = gender
        self.score = None
        self.my_class = []

    def select_class(self, my_class):
        self.my_class.append(my_class)



class Teacher:
    def __init__(self, name, age, salary, level):
        self.name = name
        self.age = age
        self.salary = salary
        self.level = level

    def set_stu_score(self, student, score):
        student.score = score

 

posted @ 2020-04-07 17:30  疏星淡月  阅读(119)  评论(0编辑  收藏  举报