day27----作业

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

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

班级名字
班级所在校区

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

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

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


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

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

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

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

#!/usr/bin/env python




class School:
    register_school = []
    def __init__(self, school_name, school_address):
        self.school_name = school_name
        self.school_address = school_address
        self.classes = []
        School.register_school.append(self)



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


class Student:
    def __init__(self, school, stu_name, stu_age, stu_number, stu_gender):
        self.school = school
        self.stu_name = stu_name
        self.stu_age = stu_age
        self.stu_number = stu_number
        self.stu_gender = stu_gender
        self.class_choice = []



class Course:
    def __init__(self, course_name, course_period, course_price):
        self.course_name = course_name
        self.course_period = course_period
        self.course_price = course_price


class Teacher:
    def __init__(self, teacher_name, teacher_age, teacher_salary, teacher_grade):
        self.teacher_name = teacher_name
        self.teacher_age = teacher_age
        self.teacher_salary = teacher_salary
        self.teacher_grade = teacher_grade
原文地址:https://www.cnblogs.com/surpass123/p/12655430.html