组合一般是指在一个类中以另外一个类的对象作为
1、一个类的属性可以是一个类对象
2、将另外一个对象作为自己的属性成员(自己的一个属性来自于另外一个对象),这就是组合
3、组合也可以解决代码冗余的问题,但是组合反应的是一种什么是什么的关系。
组合表现的是:谁有什么的关系 ,
比如:
学校有学生
学生有课程
# 老师 课程 生日
class Course:
def __init__(self, name, period, price):
self.name = name
self.period = period
self.price = price
class Birth:
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
class Teacher:
def __init__(self, name, salary, course):
self.name = name
self.salary = salary
self.course = course
python = Course('python', '6 months', 20000)
egg = Teacher('egon', 200, python)
print(egg.name)
print(egg.course.name)
egg_birth = Birth(1965, 2, 2)
print(egg_birth.year)
egg.birth = egg_birth
print('***', egg.birth.year)