python基础学习-day27==课后作业练习(面向对象思想整合)
一、今日作业:
选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
1.学校数据与功能整合
2.课程数据与功能进行整合
3.学生数据与功能进行整合
4.讲师数据与功能进行整合
5.班级数据与功能进行整合
ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合
数据部分:
校区的名字:如"老男孩上海校区"
校区的地址:如"上海虹桥"
班级名字
班级所在校区
学生的学校
学生的姓名
学生的年龄
学号
学生的性别
课程名字
课程周期
课程价格
老师的名字
老师的年龄
老师的薪资
老师的等级
功能部分:
校区创建完毕后,可以为每个校区创建班级
班级创建完毕后,可以为每个班级创建课程
学生创建完毕后,学生可以选择班级
老师创建完毕后,可以为学生打分
class School: def __init__(self,name,address): self.name = name self.address = address def addclass(self,name,schoolname): classname = SchoolClass(name,schoolname) return classname class SchoolClass: def __init__(self,name,schoolname): self.name = name self.address = schoolname def addcourse(self,name,cycle,price): course = Course(name,cycle,price) return course class Course: def __init__(self, name, cycle, price): self.name = name self.cycle = cycle self.price = price class Student: gender = 0 def __init__(self,school,name,age,id,sex): self.school = school self.name = name self.age = age self.id = id self.sex = sex def choice(self,classname): self.classname = classname class Teacher: def __init__(self,name,age,salary,leve): self.name = name self.age = age self.salary = salary self.leve = leve def grade(self,student_obj,grade): student_obj.gender = grade school1 = School('老男孩上海校区','上海虹桥') print(school1.__dict__) classname1 = school1.addclass('14班', '老男孩上海校区') print(classname1.__dict__) course1 = classname1.addcourse('python','5个月','1000') print(course1.__dict__) student1 = Student('老男孩上海校区','小黑',22,2019050,'男') student1.choice('python') print(student1.__dict__) teacher1 = Teacher('小白',33,10000,4) teacher1.grade(student1,90) print(teacher1.__dict__) print(student1.__dict__)