类作业(CRM学生管理系统)

面向对象的程序设计OOD
找对象------->找类(归纳对象共同的特征与技能,还有每个对象独有的特征)
面向对象编程OOP
先定义类------->实例化出对象

 

第一步:面向对象的程序设计OOD

面向对象的程序设计OOD
    找对象------->找类(归纳对象共同的特征与技能,还有每个对象独有的特征)
面向对象编程OOP
    先定义类------->实例化出对象

--------------------------------------

应用场景:
找不到共同特征和技能不用强求:


对象:学校
        共有特征:老男孩教育(etiantian)
        共有技能:招生
        独有的特征:地址在哪,本校区管理者,本校区管理网站,老师数量,学生数量,班级数量

对象:老师
        共有技能:授课,打分
        独有特征:名字,性别,别名,年龄,籍贯,level,课程

对象:学生
      独有特征:姓名,性别,年龄,学号,课程,籍贯
      共有技能:提交作业,提交作业,查看成绩,查看合同,查看课程,推荐,查看违规记录    

对象:课程
      独有特征:课程名称,课程周期,课程节次

对象:奖惩
      独有特征:学分
      共有的技能:“迟到,没交作业,随地吐痰(减学分,罚钱)”,“作业得A,好人好事,推荐学生”

对象:评价建议
      独有特征:名字,评价内容

第二步:面向对象编程OOP

__author__ = 'luchuangao'

class School: #学校
    tag='etiantian'
    def __init__(self,admin,addr,url,num_teacher,num_class,num_students): #校长,地址,官方网址,老师数量,班级数量,同学数量。
        self.admin=admin
        self.addr=addr
        self.url=url
        self.num_teacher=num_teacher
        self.num_class=num_class
        self.num_students=num_students
    def recruit_student(self): #招生
        pass

class Teacher: #老师
    def __init__(self,name,sex,age,id): #名字,性别,年龄,id,课程
        self.name=name
        self.sex=sex
        self.age=age
        self.id=id
        self.course=[]

    def score(self): #打分
        pass

class Student: #学生
    def __init__(self,name,sex,age,id,course): #名字,性别,年龄,id,课程
        self.name=name
        self.sex=sex
        self.age=age
        self.id=id
        self.course=course

    def look_course(self): #查看课程内容
        pass

    def look_contract(self): #查看合同
        pass

    def look_iolations(self): #查看规定
        pass

class Course: #课程
    def __init__(self,course_name,price,time,what_class): #课程名字,课程时间,班次(脱产,全栈)
        self.course_name=course_name
        self.price=price
        self.time=time
        self.what_class=what_class

class Contract: #合同
    def __init__(self,party_a,party_b,time,course,tuition,contract_contents): #甲方,乙方,时间,课程,学费,合同内容。
        self.party_a=party_a
        self.party_b=party_b
        self.time=time
        self.course=course
        self.tuition=tuition
        self.contract_contents=contract_contents

class Rewards_Punishments: #奖惩
    def __init__(self,credits=100):
        self.credits=credits

    def late(self): #迟到
        self.credits -= 10

    def no_homework(self): #没交作业
        self.credits -= 10

    def spitting(self): #随地吐痰
        self.credits -= 10

    def good_homework(self): #作业写得好
        self.credits += 10

    def good_deeds(self): #好人好事
        self.credits += 10
        return self.credits

    def Recommended(self):
        self.credits += 10

t1=Teacher('egon','male',18,'120')
students_01=Student('luchuan','male',18,110,'python')
print(students_01.name,students_01.age,students_01.id,students_01.course)
g1=Rewards_Punishments()
print("%s\' credits is %s"%(students_01.name,g1.good_deeds()))
python_obj=Course('python全栈',15800,'7m','大班')
linux_obj=Course('linux',19800,'5m','大班')
t1.course.append(python_obj)
t1.course.append(linux_obj)
print(t1.course[0].price)
print(t1.course[1].price)

 

posted @ 2017-04-17 23:23  luchuangao  阅读(415)  评论(0)    收藏  举报