24、类定义的练习

文章目录

一、需求

  • 创建学校类
  • 创建班级类
  • 创建课程类

– 只要把对象传过去,要啥有啥

  • 基本
class School():
    school_name = 'hgc'

    # 独有的东西
    def __init__(self, nickname, addr):
        self.nickname = nickname
        self.addr = addr
        self.classes = [] 

    # 关联班级
    def related_class(self, class_name):
        self.classes.append(class_name)

    # 打印班级信息
    def tell_classes(self):
        for class_name in self.classes:
            print('%s'%class_name)


# 一、学校
# 1、创建学校
school_obj1 = School('北京校区', '北京')
school_obj2 = School('上海校区', '上海')

# 2、为校区开设班级
# 北京得03届、04届
school_obj1.related_class('03届01班')
school_obj1.related_class('04届01班')
# 上海的03届
school_obj2.related_class('03届01班')

# 想打印'北京校区03届', 做成函数, 放到类里面
print(school_obj1.classes)
print(school_obj2.classes)

# 3、查看每个校区开设的班级
school_obj1.tell_classes()
school_obj2.tell_classes()


class Class():
    def __init__(self, name):
        self.name = name
        self.course = None

    # 添加课程
    def add_course(self, course_name):
        self.course = course_name

    # 查看都有什么课程
    def tell_course(self):
        print('%s %s' % (self.name, self.course))


# 二、班级
# 1、创建班级
class_obj1 = Class('03届01班')
class_obj2 = Class('04届01班')
class_obj3 = Class('03届01班')

# 2、添加课程
class_obj1.add_course('数学')
class_obj2.add_course('语文')
class_obj3.add_course('历史')

# 3、查看班级开设的课程信息
class_obj1.tell_course()
class_obj2.tell_course()
class_obj3.tell_course()

  • 如何进行类之间的关联
class School():
    school_name = 'hgc'

    # 独有的东西
    def __init__(self, nickname, addr):
        self.nickname = nickname
        self.addr = addr
        self.classes = []  # 改后变为claas_obj

    # 关联班级
    # def related_class(self, class_name): # 想一下关联到所有课程信息传入对象
    def related_class(self, class_obj):
        self.classes.append(class_obj)

    # 打印班级信息
    def tell_classes(self):
        for class_obj in self.classes:
            class_obj.tell_course()


class Class():
    def __init__(self, name):
        self.name = name
        self.course = None

    # 添加课程
    def add_course(self, course_name):
        self.course = course_name

    # 查看都有什么课程
    def tell_course(self):
        print('班级名: %s, 课程名: %s' % (self.name, self.course))


# 一、学校
# 1、创建学校
school_obj1 = School('北京校区', '北京')
school_obj2 = School('上海校区', '上海')


# 二、班级
# 1、创建班级
class_obj1 = Class('03届01班')
class_obj2 = Class('04届01班')


# 在学校对象的时候直接传入课程对象
class_obj1.add_course('数学')
school_obj1.related_class(class_obj1)
school_obj1.tell_classes()

相关连接(笔记来自于视频课程的归类整理):
[1]: https://www.bilibili.com/video/BV1QE41147hU?p=17
[2]: https://www.zhihu.com/column/c_1189883314197168128
[3]: https://www.cnblogs.com/linhaifeng/articles/6384466.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值