选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
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:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合
数据部分:
校区的名字:如"老男孩上海校区"
校区的地址:如"上海虹桥"
班级名字
班级所在校区
学生的学校
学生的姓名
学生的年龄
学号
学生的性别
课程名字
课程周期
课程价格
老师的名字
老师的年龄
老师的薪资
老师的等级
功能部分:
校区创建完毕后,可以为每个校区创建班级
班级创建完毕后,可以为每个班级创建课程
学生创建完毕后,学生可以选择班级
老师创建完毕后,可以为学生打分