zoukankan      html  css  js  c++  java
  • 4.7作业

    选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
    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 添加老师
        ''')
    
  • 相关阅读:
    3
    2
    1
    11
    12
    8888888888
    99999999999
    88888888888
    77777777
    10.23
  • 原文地址:https://www.cnblogs.com/linqiaobao/p/12657734.html
Copyright © 2011-2022 走看看