组合:类与类之间没有共同点,但是有关联;
备注:代码的最后一句可见效果
# -*- coding:utf-8 -*-
#下面讲述举例:类与类之间没有共同点,但是确实相关联的;此时就需要:组合 来实现关系的拼接
#下面举例:学校class 老师class 课程class 三者的关联关系
class School:
def __init__(self,name,addr):
self.name = name
self.addr = addr
def zhao_sheng(self):
print("[%s]学校正在招生"%self.name)
class Teacher:
def __init__(self,name,school):
self.name = name
self.school = school
class Course:
def __init__(self,name,price,period,teacher,school):
self.name = name
self.price = price
self.period = period
self.teacher = teacher
self.school = school
chioce_school = {
"1": "1校区",
"2": "2校区",
"3": "3校区"
}
chioce_teacher = {
"1": "张老师",
"2": "李老师",
"3": "王老师"
}
chioce_course = {
"1": "python",
"2": "Linux",
"3": "Java"
}
menu = '''
选择:1 代表: SB学校 1校区
选择:2 代表: SB学校 2校区
选择:3 代表: SB学校 3校区
'''
print(menu)
chioce_school_num = input("请选择学校>>>\n")
menu = '''
选择:1 代表: 张老师
选择:2 代表: 李老师
选择:3 代表: 王老师
'''
print(menu)
chioce_teacher_num = input("请选择老师>>>\n")
menu = '''
选择:1 代表: python
选择:2 代表: Linux
选择:3 代表: Java
'''
print(menu)
chioce_course_num = input("请选择课程>>>\n")
if __name__ == '__main__':
school = School("SB学校", chioce_school[chioce_school_num])
teacher = Teacher(chioce_teacher[chioce_teacher_num],school)
course = Course(chioce_course[chioce_course_num],"10","1 hour",teacher,school)
print("你选择了【%s】的【%s】的【%s】的【%s】课程,费用【%s】,时长【%s】"\
%(course.school.name,course.school.addr,course.teacher.name,course.name,course.price,course.period))