从零开始的Python计划#8.2 继承

本文探讨了Python中类之间的关联和联系,包括联系、聚集和组成的关系,并通过实例详细解释了这些概念。接着介绍了继承的概念,展示了如何创建基类和子类,并通过汽车与皮卡车的例子说明了继承的应用。在Python中实现继承,可以使用super()来调用父类的方法。文章还提及了类变量和实例变量的区别,类变量在所有实例间共享,而实例变量具有唯一性。
摘要由CSDN通过智能技术生成

在讨论继承inheritance之前,我们要先讨论关联和联系

关联和联系

关系是对象之间可能发生的事情,它们可以相互依赖,有三个层次的重要性:
联系——薄弱关系
联系是阶级之间最薄弱的关系形式。 如果我们有两个类,B完全独立于A,但只需要a的一些属性来运行它的方法。重要的是A和B可以彼此独立。
聚集——中等关系
通常,如果类A需要类B来执行某些功能,则B对象将被创建并将其传递给A。存在一种循环,但是如果我们删除对象A,那么B的内容就可以在没有对象的情况下生存。就是A要求B运行,B将在A中反馈,如果删除A,B依然存在。
组成——牢固关系
类A由另一类B的一个或多个实例组成。换句话说,一个类是容器,另一个类是内容。(因此如果删除A,则其内容对象B也将被删除。没有A就没有B,因为A包含B。)

联系实例

第一个例子:
Salary类是独立的,它用init方法,取时长和付款率。将它们赋给属性,然后会有年薪返回的方法(每月工作时间,自付工资*12)
在这里插入图片描述
employee也是独立的,但在计算工资奖金时需要工资。当我们有annual_salary_with_bonus时,我们会通annual_salary年薪返回的是年薪加上自我奖金的总和。
在这里插入图片描述
因为这里没有年薪,employee对象要传入obj_sal。所以即使这两个类是完全分开的,为了计算Employee类的年薪和奖金annual_salary_with_bonus,我们需要传递obj_sal =Salary(40, 10.50)。
在这里插入图片描述
然后有一个对象employee,它是从类employees创建的。当我们想从obj_emp计算出带奖金的年薪obj_emp.annual_salary_with_bonus,我们得传递作为参数的obj_sal.get_annual_salary
我们需要在obj_sal运行accessor方法获取值,并将其传递给em

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值