面向对象---组合

面向对象之组合

1、什么是继承?什么是组合?
顾名思义:继承就是 什么是什么的关系
组合就是 什么有什么的关系

class person:
    nationnality = 'china'

    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex


class teacher(person):
    def __init__(self, name, age, sex, level, salary):
        super().__init__(name, age, sex)
        self.level = level
        self.salary = salary


class student(person):
    def __init__(self, name, age, sex, hobby):
        super().__init__(name, age, sex)
        self.hobby = hobby


class course:
    def __init__(self, name, price, cycle):
        self.name = name
        self.price = price
        self.cycle = cycle

    def tell_info(self):
        print('课程名:%s,学费:%s,学习周期:%s' % (self.name, self.price, self.cycle))


teacher1 = teacher('alen', 38, 'male', 10, 10000)
student1 = student('egon', 18, 'male', 'sleep')

python = course('python', 7000, '6 months')
student1.course = python  # 这种关系称之为组合,以内不存在继承的关系,即子级没有去父级找的关系
teacher1.course = python  # 这就是什么有什么的关系,老师教有这门课,学生有这门课
# 老师和学生都有这门课程
print(teacher1.course.name)
print(student1.course.name)

	以上可以看出,教师和学生并没有继承课程,但是教师和学生都同时拥有python这门课程,这样的关系就称之为组合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值