python学习之面向对象基础作业

选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
1、学校数据与功能整合
2、课程数据与功能进行整合
3、学生数据与功能进行整合
4、讲师数据与功能进行整合
5、班级数据与功能进行整合
ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合

数据部分:
校区的名字:如"老男孩上海校区"
校区的地址:如"上海虹桥"

​ 班级名字
​ 班级所在校区

​ 学生的学校
​ 学生的姓名
​ 学生的年龄
​ 学号
​ 学生的性别

​ 课程名字
​ 课程周期
​ 课程价格

​ 老师的名字
​ 老师的年龄
​ 老师的薪资
​ 老师的等级

功能部分:
校区创建完毕后,可以为每个校区创建班级

​ 班级创建完毕后,可以为每个班级创建课程

​ 学生创建完毕后,学生可以选择班级

​ 老师创建完毕后,可以为学生打分

class School():

    School_name = 'OLD BOY'
    def __init__(self,area_name,address):
        self.area_name = area_name
        self.address = address

    def make_class(self,class_name):
        return Class(self.area_name,self.address,class_name)

class Class(School):

    def __init__(self,area_name,address,name):

        super().__init__(area_name,address)
        self.name = name

    def show_class_info(self):
        print('area_name:{},class_name:{}'.format(self.area_name,self.name))

    def make_course(self,course_name,period,price):
        return Course(course_name,period,price)

class Course():

    def __init__(self,name,period,price):
        self.name = name
        self.period = period
        self.price = price

    def show_course_info(self):
        print('''
        课程名:%s
        课程周期:%s
        课程价格:%s
        '''%(self.name,self.period,self.price)
        )

class Student():

    def __init__(self,school_name,name,age,sex,num):
        self.school_name = school_name
        self.name = name
        self.age = age
        self.sex = sex
        self.num = num

    def select_class(self):

        self.class_name = '老男孩上海校区py脱产14期'
        print('你选择成为[%s]中的一员'%self.class_name)

class Teacher():

    def __init__(self,name,age,salary,level):
        self.name = name
        self.age = age
        self.salary = salary
        self.level = level

    def make_score(self,stu_name):

        print('[%s]老师给学生[%s]打了100分。'%(self.name,stu_name))


sch1 = School('上海校区','上海虹桥')
class1=sch1.make_class('老男孩上海校区py脱产14期')

sch2 = School('北京校区','北京朝阳')
class2=sch2.make_class('老男孩北京校区py脱产14期')

course1 = class1.make_course('python','6 mons','20000 ¥')
course2 = class1.make_course('java','6 mons','10000 ¥')
course3 = class1.make_course('linux','6 mons','10000 ¥')

猜你喜欢

转载自www.cnblogs.com/leilijian/p/12657451.html