• day21-3 类的组合


    类的组合

    • 组合就是一个类的对象具备某一个属性,该属性的值是指向另外一个类的对象
    • 组合的好处:解决类与类之间代码冗余的问题

    组合的应用

    • 需求:假如我们需要给学生增添课程属性,但是又不是所有的学生一进学校就有课程属性,课程属性是学生选出来的,也就是说课程需要后期学生们添加进去
    • 实现思路:如果我们直接在学生中添加课程属性,那么学生刚被定义就需要添加课程属性,这就不符合我们的要求,因此我们可以使用组合能让学生未来添加课程属性
    class People:
        def __init__(self, name, age, gender):
            self.name = name
            self.age = age
            self.gender = gender
    
    
    class Student(People):
        def __init__(self, student_id, name, age, gender):
            super(Student, self).__init__(name, age, gender)
            self.student_id = student_id
    
        def choose_course(self, course):
            print(f'{self.name} 选了 {course.name} 课程')
    
    
    class Admin(People):
        def create_course(self, course):
            print(f'{self.name} 创建课程 {course.name}')
    
    
    class Course:
        def __init__(self, name, price):
            self.name = name
            self.price = price
    
    # 生成一个管理员
    adm = Admin('egon', 20, 'male')
    
    # 创建课程
    python = Course('python', 6666)
    adm.create_course(python)
    
    # 生成一个学生对象+选课
    stud1 = Student('01', 'nick', 18, 'male')
    stud1.choose_course(python)
    
    egon 创建课程 python
    nick 选了 python 课程
    
  • 相关阅读:
    如何写文件上传下载
    填充表格的模板代码
    ArcGIS Server 分布式注意事项
    在android上导入第三方jar包 报错:Could not find class
    @Override annotation 出错
    签到时间
    分页三条件查询
    上传图片
    分页
    二级联动
  • 原文地址:https://www.cnblogs.com/863652104kai/p/11052026.html
Copyright © 2020-2023  润新知