选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
1、学校数据与功能整合
class School():
door = True
def __init__(self,name,adr):
self.name = name
self.address = adr
self.class_list = []
def add_class(self,class1):
self.class_list.append(class1)
def look_class(self):
print(self.class_list)
2、课程数据与功能进行整合
class Course():
def __init__(self,name,time,price):
self.name = name
self.time = time
self.price = price
3、学生数据与功能进行整合
class Student():
school = 'oldboy'
def __init__(self,name,age,sex,num,school):
self.name = name
self.age = age
self.sex = sex
self.num = num
self.school = school
self.class1 = []
self.course = []
self.core = None
def choose_class(self,class1):
self.class1.append(class1)
def look_class(self):
print(self.class1.name)
def look_course(self):
print(self.course)
def quit_course(self,course):
self.course.remove(course)
4、讲师数据与功能进行整合
class Teacher():
school = 'oldboy'
def __init__(self, name, age, sex,salary,num_one):
self.name = name
self.age = age
self.sex = sex
self.salary = salary
self.num_one = num_one
self.course = []
def choose_course(self,course):
self.course.append(course)
def look_course(self):
print(self.course)
def quit_course(self,course):
self.course.remove(course)
def core(self,stu,core):
stu.core = core
5、班级数据与功能进行整合
class Class():
def __init__(self,name,school):
self.name = name
school.class_list.append(name)
self.course = []
self.students = []
self.teachers = []
def add_course(self,course1):
self.course.append(course1)
def look_course(self):
print(self.course)
def student_add(self,stu):
self.students.append(stu)
def teacher_add(self,tea):
self.teachers.append(tea)
def quit_people(self,people):
if people in self.students:
self.students.remove(people)
elif people in self.teachers:
self.teachers.remove(people)
else:
print('no people')
ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合
数据部分:
校区的名字:如"老男孩上海校区"
校区的地址:如"上海虹桥"
班级名字
班级所在校区
学生的学校
学生的姓名
学生的年龄
学号
学生的性别
课程名字
课程周期
课程价格
老师的名字
老师的年龄
老师的薪资
老师的等级
功能部分:
校区创建完毕后,可以为每个校区创建班级
班级创建完毕后,可以为每个班级创建课程
学生创建完毕后,学生可以选择班级
老师创建完毕后,可以为学生打分
school_shanghai = School('上海校区','虹桥火车站')
school_shanghai.add_class('1')
school_shanghai.add_class('2')
school_shanghai.add_class('3')
school_shanghai.look_class()
class1 = Class('1',school_shanghai)
class1.add_course('linux')
class1.look_course()
stu1 = Student('egon',10,'male','01','上海校区')
stu1.choose_class(class1)
stu1.look_class()
tea = Teacher('egon',10,'male',19999,'1')
tea.core(stu1,90)
print(stu1.core)
if __name__ == '__main__':
print('''
0 创建学校
1 创建班级
2 添加课程
3 添加学生
4 添加老师
''')