选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
# 1、学校数据与功能整合
# 2、课程数据与功能进行整合
# 3、学生数据与功能进行整合
# 4、讲师数据与功能进行整合
# 5、班级数据与功能进行整合
ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合
数据部分:
校区的名字:如"老男孩上海校区"
校区的地址:如"上海虹桥"
班级名字
班级所在校区
学生的学校
学生的姓名
学生的年龄
学号
学生的性别
课程名字
课程周期
课程价格
老师的名字
老师的年龄
老师的薪资
老师的等级
功能部分:
校区创建完毕后,可以为每个校区创建班级
班级创建完毕后,可以为每个班级创建课程
学生创建完毕后,学生可以选择班级
老师创建完毕后,可以为学生打分
# 学校容器
class School:
def __init__(self,school,address):
self.school = school
self.address = address
def classmate(self,class_name):
self.class_name = class_name
# 课程数据
class Course:
def __init__(self,name,price,period):
self.course_name = name
self.course_price = price
self.course_period = period
# 学生数据
class Student:
def __init__(self,num,name,age,gender):
self.stu_num = num
self.stu_name = name
self.stu_age = age
self.stu_gender = gender
def choice(self,course):
self.course = course
# 讲师数据
class Teacher:
def __init__(self,name,age,salary,level):
self.tec_name = name
self.tec_age = age
self.tec_salary = salary
self.stu_level = level
def core(self,name,stu_name,score):
self.name = name
self.score = score
self.stu_name = stu_name
print(f'{self.name}给{self.stu_name}打分为{self.score}')
# 班级数据
class ClassData:
def __index__(self,course):
self.course = course
def add_course(self,course):
self.course = course