# 选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
# # 1、学校数据与功能整合
# # 2、课程数据与功能进行整合
# # 3、学生数据与功能进行整合
# # 4、讲师数据与功能进行整合
# # 5、班级数据与功能进行整合
# ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合
#
# 数据部分:
# 校区的名字:如"老男孩上海校区"
# 校区的地址:如"上海虹桥"
#
# 班级名字
# 班级所在校区
#
# 学生的学校
# 学生的姓名
# 学生的年龄
# 学号
# 学生的性别
#
# 课程名字
# 课程周期
# 课程价格
#
# 老师的名字
# 老师的年龄
# 老师的薪资
# 老师的等级
#
#
# 功能部分:
# 校区创建完毕后,可以为每个校区创建班级
#
# 班级创建完毕后,可以为每个班级创建课程
#
# 学生创建完毕后,学生可以选择班级
#
# 老师创建完毕后,可以为学生打分
class School:
def __init__(self,x):
self.school_name=f'老男孩{x}校区'
self.school_adress=x
def creat_class(self,name,adress):
class_obj=Classroom(name,adress)
return class_obj
class Classroom:
def __init__(self,name,adress):
self.classroom_name=name
self.classroom_adress=adress
def creat_course(self,x,y,z):
course_obj=Course(x,y,z)
return course_obj
class Course:
def __init__(self,name,time,price):
self.course_name=name
self.course_time=time
self.course_price=price
class Student :
def __init__(self,school,name,age,id,sex):
# 学生的学校
# 学生的姓名
# 学生的年龄
# 学号
# 学生的性别
self.school= school
self.name= name
self.age= age
self.id= id
self.sex= sex
def choose_classroom(self,cls_name):
self.class_name=cls_name
class Teacher :
def __init__(self,name,age,sal,level):
self.teac_name=name
self.teac_age=age
self.teac_sal=sal
self.teac_level=level
def mark_students(self,name,level):
self.student=name
self.student_level=level
school=School('上海')
print(school.school_name)
classroom=Classroom('1班','上海')
print(classroom.classroom_name)
course=Course('python','6个月','100')
print(course.course_name)
student=Student('老男孩上海','cyp',18,9527,'male')
print(student.id)
teacher=Teacher('egon',18,3.0,'特级')
print(teacher.teac_level)