zoukankan      html  css  js  c++  java
  • 2020Python作业——类与对象

    @2020.4.7

    选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
    # 1、学校数据与功能整合
    # 2、课程数据与功能进行整合
    # 3、学生数据与功能进行整合
    # 4、讲师数据与功能进行整合
    # 5、班级数据与功能进行整合
    ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合
    
    数据部分:
         校区的名字:如"老男孩上海校区"
         校区的地址:如"上海虹桥"
    
         班级名字
         班级所在校区
    
         学生的学校
         学生的姓名
         学生的年龄
         学号
         学生的性别
    
         课程名字
         课程周期
         课程价格
    
         老师的名字
         老师的年龄
         老师的薪资
         老师的等级
    
    
    功能部分:
         校区创建完毕后,可以为每个校区创建班级
    
         班级创建完毕后,可以为每个班级创建课程
    
         学生创建完毕后,学生可以选择班级
    
         老师创建完毕后,可以为学生打分
    练习题--View Code

    数据和功能分类

    # 1、学校数据与功能
    #      校区的名字:如"老男孩上海校区"
    #      校区的地址:如"上海虹桥"
    
    # 校区创建完毕后,可以为每个校区创建班级
    
    
    # 2、课程数据与功能
    #       课程名字
    #       课程周期
    #       课程价格
    
    # 3、学生数据与功能
    #      学生的学校
    #      学生的姓名
    #      学生的年龄
    #      学号
    #      学生的性别
    
    #   学生创建完毕后,学生可以选择班级
    
    # 4、讲师数据与功能
    #      老师的名字
    #      老师的年龄
    #      老师的薪资
    #      老师的等级
    
    # 老师创建完毕后,可以为学生打分
    
    # 5、班级数据与功能
    #   班级名字
    #   班级所在校区
    
    #   班级创建完毕后,可以为每个班级创建课程
    数据和功能--View Code

     代码

    # 学校类
    class School:
        def __init__(self,s_name,s_area):
            self.school_name = s_name
            self.school_area = s_area
    
        #校区创建完毕后,可以为每个校区创建班级
        def built_class(self,name,campus):
            class_obj = SchoolClass(name,campus)
            return class_obj
    
    # 班级类
    class SchoolClass:
        def __init__(self,c_name,c_campus):
            self.class_name = c_name
            self.class_campus = c_campus
    
        #班级创建完毕后,可以为每个班级创建课程
        def built_course(self,name,circle,price):
            course_obj = Course(name,circle,price)
            return course_obj
    
    # 课程类
    class Course:
        def __init__(self,cou_name,circle,price):
            self.course_name = cou_name
            self.circle = circle
            self.price = price
    
    # 学生类
    class Student:
        def __init__(self,s_school,stu_name,age,sno,gender):
            self.student_school = s_school
            self.student_name = stu_name
            self.student_age = age
            self.student_sno = sno
            self.student_gender = gender
    
        #学生创建完毕后,学生可以选择班级
        def choose_class(self,class_name):
            self.class_name = class_name
    
    # 老师类
    class Teacher:
        def __init__(self,t_name,t_age,salary,level):
            self.teacher_name = t_name
            self.teacher_age = t_age
            self.teacher_salary = salary
            self.teacher_level = level
    
            #老师创建完毕后,可以为学生打分
        def student_grade(self,student_obj,grade):
            student_obj.grade = grade
    
    
    school_1 = School("老男孩上海校区","上海虹桥")
    print(school_1.school_area)
    print(school_1.school_name)
    
    class_1 = school_1.built_class('14期','老男孩上海校区')
    print(class_1.class_name)
    
    course_1 = class_1.built_course('py全栈开发','6m','2w')
    print(course_1.circle)
    
    student_1 = Student('老男孩上海校区','hz','18','50','male')
    print(student_1.student_name)
    
    student_1.choose_class('14期')
    print(student_1.class_name)
    
    teacher_1 = Teacher('egon','100','3w','nb')
    print(teacher_1.teacheer_age)
    
    teacher_1.student_grade(student_1,100)
    print(student_1.grade)
  • 相关阅读:
    符瑞艺 160809228_C语言程序设计实验2 选择结构程序设计
    页面布局class常见命名规范
    CSS学习笔记
    HTML学习笔记
    虚拟机Centos7设置ip地址,并ping真机ip
    vue单页面开发和多页面开发的概念,及优缺点?
    传统的DOM渲染方式?
    面试题
    通过电脑chrome调试手机真机打开的微信H5页面,调试电脑微信H5页面(转载自 乐乐熊小妹)
    常见前端面试题及答案
  • 原文地址:https://www.cnblogs.com/bigorangecc/p/12656565.html
Copyright © 2011-2022 走看看