作业20200407
先定义5个类,然后再实例化对象。实例化后,对象们自由组队玩耍就实现了整个项目需求。
选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
# 1、学校数据与功能整合
# 2、课程数据与功能进行整合
# 3、学生数据与功能进行整合
# 4、讲师数据与功能进行整合
# 5、班级数据与功能进行整合
ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合
数据部分:
校区的名字:如"老男孩上海校区"、校区的地址:如"上海虹桥"
班级名字、班级所在校区
学生的学校、学生的姓名、学生的年龄、学号、学生的性别
课程名字、课程周期、课程价格
老师的名字、老师的年龄、老师的薪资、老师的等级
功能部分:
校区创建完毕后,可以为每个校区创建班级
班级创建完毕后,可以为每个班级创建课程
学生创建完毕后,学生可以选择班级
老师创建完毕后,可以为学生打分
#################################################################################
class School:
def __init__(self, name, address):
self.name = name
self.address = address
self.classes = []
def add_class(self, classes):
self.classes.append(classes)
class Classes:
def __init__(self, name, school):
self.name = name
self.school = school
self.courses = []
def add_course(self, course):
self.courses.append(course)
class Course:
def __init__(self, name, period, price):
self.name = name
self.period = period
self.price = price
class Student:
school = School('老男孩上海校区', '上海虹桥')
def __init__(self, name, age, id, gender):
self.name = name
self.age = age
self.id = id
self.gender = gender
self.score = None
self.my_class = []
def select_class(self, my_class):
self.my_class.append(my_class)
class Teacher:
def __init__(self, name, age, salary, level):
self.name = name
self.age = age
self.salary = salary
self.level = level
def set_stu_score(self, student, score):
student.score = score

浙公网安备 33010602011771号