python类的组合
Posted forever77
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python类的组合相关的知识,希望对你有一定的参考价值。
类的组合,即在类实例化时,将另一个类的实例作为参数传入,这样可以将两个实例关联起来。
当类之间有显著不同,并且较小的类是较大的类所需要的组件时,用组合比较好。
例如,描述一个机器人类,这个大类是由很多互不相关的小类组成,如机械胳膊类、腿类、电池类等。
当类之间有很多相同的属性,提取这些统统的属性做成基类,用继承比较好。
class course: def __init__(self,name,price,period,teacher): self.name=name self.price=price self.period=period self.teacher=teacher class teacher: def __init__(self,name,sex): self.name=name self.sex=sex class student: def __init__(self,name,age,course): self.name=name self.age=age self.course=course t1=teacher(‘Bob‘,38) t2=teacher(‘Jack‘,45) t3=teacher(‘Jane‘,45) c1=course(‘python‘,6000,‘3 months‘,t2)#将teacher作为参数传递给课程实例 c2=course(‘linux‘,7000,‘5 months‘,t1) c3=course(‘mysql‘,6500,‘5 months‘,t3) d={‘1‘:c1,‘2‘:c2,‘3‘:c3} name=‘Alice‘ age=21 while True: choice=input(‘please choice course:‘) if choice in d.keys(): s1=student(name,age,d[choice])#将课程实例作为参数传递给学生实例 print(s1.__dict__) print(‘%s choose course %s,%s is the teacher‘%(s1.name,s1.course.name,s1.course.teacher.name)) elif int(choice)==0: exit(0) else: print(‘please input correct choice‘)
以上是关于python类的组合的主要内容,如果未能解决你的问题,请参考以下文章