【1.102】面向对象-组合
看看简单的组合
class Hand: pass class Foot: pass class Trunk: pass class Head: pass class Person: def __init__(self,id_num,name): self.id_num=id_num self.name=name self.hand=Hand() self.foot=Foot() self.trunk=Trunk() self.head=Head() p1=Person('111111','alex') print(p1.__dict__) # {'id_num': '111111', 'name': 'alex', 'hand': <__main__.Hand object at 0x0000000002205860>, 'foot': <__main__.Foot object at 0x0000000002205898>, 'trunk': <__main__.Trunk object at 0x00000000022058D0>, 'head': <__main__.Head object at 0x0000000002205908>}
上面的代码就是一个组合 就是将手 脚 躯干 头 都组合在一个人当中
1、组合- 思维练习 创建学习类 还有 课程类
2、这里的练习是在创建课程系统 然后直接展示出来
3、通过在课程里面添加学校的信息 意思就是 哪门课程在哪个学校
class School: def __init__(self,name,addr): self.name = name self.addr = addr def recruit_stu(self): print("%s - %s 校区正在招生"%(self.name,self.addr)) s1 = School("川大","望江") s2 = School("川大","江安") s3 = School("川大","华西")class Course: def __init__(self,name,price,academic,school): self.name = name self.price = price self.academic = academic self.school = school # self.teacher = teacher # c1 = Course("MBA",100,"2年",) # c2 = Course("牙科",70,"7年") # c1 = Course("计算机",50,"4年") while True: menu = ''' 1 : 川大望江 2 : 川大江安 3 : 川大华西 ''' print(menu) menu = { "1":s1, "2":s2, "3":s3 } chioce = input("请选择学校:") school = menu[chioce] course_name = input("课程名》》:") course_price = input("课程学费》》:") course_academic = input("学制》》:") new_courese = Course(course_name,course_price,course_academic,school) school.recruit_stu() #print("川大江安开设的计算机课程,是一个38岁的叫李娜的女老师在授课,其学费是50万,学制是4年,欢迎填报") print("%s-%s校区开设的%s课程," "是一个38岁的叫李娜的女老师在授课," "其学费是%s万,学制是%s年,欢迎填报" %(school.name,school.addr,course_name,course_price,course_academic))
class School: def __init__(self,name,addr): self.name = name self.addr = addr def recruit_stu(self): print("%s - %s 校区正在招生"%(self.name,self.addr)) s1 = School("川大","望江") s2 = School("川大","江安") s3 = School("川大","华西") class Teacher: def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def running(self): print("%s 目前%s岁,是一个%s老师,正在跑步" % (self.name, self.age, self.sex)) # t1 = Teacher("姚明", 38, "男") # t2 = Teacher("刘翔", 52, "男") # t3 = Teacher("李娜", 45, "女") class Course: def __init__(self,name,price,academic,school): self.name = name self.price = price self.academic = academic self.school = school # self.teacher = teacher # c1 = Course("MBA",100,"2年",) # c2 = Course("牙科",70,"7年") # c1 = Course("计算机",50,"4年") while True: menu = ''' 1 : 川大望江 2 : 川大江安 3:川大华西 ''' print(menu) menu = { "1":s1, "2":s2, "3":s3 } chioce = input("请选择学校:") school = menu[chioce] course_name = input("课程名》》:") course_price = input("课程学费》》:") course_academic = input("学制》》:") new_courese = Course(course_name,course_price,course_academic,school) school.recruit_stu() #print("川大江安开设的计算机课程,是一个38岁的叫李娜的女老师在授课,其学费是50万,学制是4年,欢迎填报") print("%s-%s校区开设的%s课程," "是一个38岁的叫李娜的女老师在授课," "其学费是%s万,学制是%s年,欢迎填报" %(school.name,school.addr,course_name,course_price,course_academic))
浙公网安备 33010602011771号