zoukankan      html  css  js  c++  java
  • 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 课程
    
  • 相关阅读:
    Centos7防火墙
    MySql按日期进行统计
    MySQL配置文件详解
    MySQL查看和修改表的存储引擎
    计算文件词频
    MapReduce寻找共同好友
    Centos 7 安装 memcached
    Linux常用命令(二)--文件目录命令
    Linux常用命令(一)--系统命令
    python学习笔记:(八)条件语句
  • 原文地址:https://www.cnblogs.com/863652104kai/p/11052026.html
Copyright © 2011-2022 走看看