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类的组合的主要内容,如果未能解决你的问题,请参考以下文章

有条件地导入 python 类的片段

Python-面向对象(组合封装与多态)

Python学习之旅—面向对象进阶知识:类的命名空间,类的组合与继承

python-类的组合和使用

Python类的组合

python3 类的组合使用