测试自动化Python类的继承和合成

本文介绍了Python中的继承概念,包括隐式继承、显示覆写和在运行前或运行后覆写,以及super()的使用。此外,还探讨了合成作为代码重用的一种方式,并提供了何时选择继承或合成的指导原则。最后,作者分享了关于提升解决问题能力的建议以及软件测试交流群的信息。
摘要由CSDN通过智能技术生成

什么是继承?

继承的用处,就是用来指明一个类的大部分或全部功能,都是从一个父类中获得的,当你写成class Foo(Bar)时,代码就发生了继承效果,这句代码的意思是“创建一个叫Foo的类,并让他继承Bar”,当你这样写时,python语言会让Bar的实例具有的功能都工作在Foo的实例上,这样可以让你把通用的功能放到Bar里边,然后在给Foo特别设定一些功能

隐式继承

首先在父类里定义了一个函数,但没有在子类中定义的例子,这时候会发生隐式继承

代码如下

# coding: utf-8
__author__ = 'www.py3study.com'
class Parent(object):
    def implicit(self):
        print("PARENT implicit")

class Child(Parent):
    pass

dad = Parent()
son = Child()
dad.implicit()
son.implicit()

应该看到的结果

                                              

 

class Child:中的pass是在python中创建空的代码区块方法,这样就创建了一个叫Child的类,但没有在里边定义任何细节,在这里它会从它的父类中继承所有的行为,运行起来就是这样(上图)

这就说明,如果你将函数放到基类中(也就是这里的Parent),那么所有的子类(也就是Child这样的类)将会自动获得这些函数功能。如果你需要很多类的时候,这样可以让你避免重复写很多代码

显示覆写(Explicit Override)

有时候你需要让子类里的函数有一个不同的行为,这种情况下隐式继承是做不到的,而你需要覆写子类中的函数,从而现实它的新功能,你只要在子类Child中定义一个相同名称的函数就可以了

代码如下:

 # coding: utf-8
__author__ = 'www.py3study.com'
class
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值