美文网首页
类继承之方法重写

类继承之方法重写

作者: 闲云野鹤_23dd | 来源:发表于2021-01-23 15:03 被阅读0次

类继承之方法重写:

方法重写

含义 : 如果你的父类方法的功能不能满足子类的需求,可以在子类重写你父类的方法

例子:
对SDET类中 重写了do_test和do_dev 方法

class SDET(Tester,Dev):
    def __init__(self,name, age, sex,job, language):
        Tester.__init__(self,name, age, sex,job)
        Dev.__init__(self,name,language)

  def do_work(self):
      print(f'{self.name}使用{self.language}编写接口测试脚本')

  def do_test(self):
      print(f'{self.name}执行自动化测试脚本')

  def do_dev(self):
      print(f'{self.name}擅长使用{self.language}语言,熟悉selenium,request,pytest等框架')` 

创建对象,调用方法,可以看到调用了重写后的方法

    sdet = SDET('大明', 28, '男','测试开发','python')
    sdet.do_dev()
    sdet.eat()
    sdet.do_work()
    sdet.do_test()

执行结果:

大明擅长使用python语言,熟悉selenium,request,pytest等框架
大明在吃工作餐
大明使用python编写接口测试脚本
大明执行自动化测试脚本

子类对象调用父类的方法

使用super()函数可以调用对象父类中的方法
例子:

super(SDET,sdet).do_test()

多态

1、定义一个父类(Base),实现某个方法(比如:run)
2、定义多个子类,在子类中重写父类的方法(run),每个子类run方法实现不同的功能
3、假设我们定义了一个函数,需要一个Base类型的对象的参数,那么调用函数函数的时候,传入Base类不同的子类对象,那么这个函数就会执行不同的功能,这就是多态的体现

例子:
可以看到do_t方法可根据传入的对象 去执行不同的功能
调用相同的方法出现不同结果,这就是多态性,这在复杂的业务关系中十分重要

def do_t(obj):
    obj.do_test()

if __name__ == '__main__':
    tester = Tester('咸鱼', 25, '男', '资深测试工程师')
    sdet = SDET('大明', 28, '男', '测试开发', 'python')
    do_t(tester)
    do_t(sdet)

执行结果:

咸鱼在做测试
咸鱼在睡觉
大明执行自动化测试脚本

相关文章

  • 类继承之方法重写

    类继承之方法重写: 方法重写 含义 : 如果你的父类方法的功能不能满足子类的需求,可以在子类重写你父类的方法 例子...

  • allure-08-重要性管理

    一、测试用例分类标识之severity 二、标记方式: 可继承,方法继承类 可重写,方法自身标签优先,没有再用类标...

  • 重写(=覆盖)、重载

    override(重写、覆盖): 子类在继承父类时,重写(重新实现)父类中的方法。 重写(覆盖)的规则: 重写方法...

  • Java_basic_9: 方法的重写

    方法的重写 方法的重写的定义 如果子类对继承父类的方法不满意,可以重写从父类中继承的方法 。当调用方法时会优先调用...

  • Swift 重写override和重载overload

    1.重写override 重写是子类继承父类,重写父类的方法。 重写方法的参数列表必须完全与被重写的方法相同。重写...

  • swift overrid 跟 overload

    1.重写override 重写是子类继承父类,重写父类的方法。 重写方法的参数列表必须完全与被重写的方法相同。重写...

  • 创建线程

    1. 继承Thread类,重写run方法 继承一个类消耗更大 2. 实现runnable接口,重写run方法 3....

  • UISlider 改变滑杆的高度

    写个类继承于UISlider, 重写方法 :

  • Java 重写和重载

    重写 重写是基于继承关系的,子类重写可以从父类那里继承的方法,重写的方法名,返回值,参数列表要和父类一致,唯一可以...

  • 继承和接口

    继承(class 子类 extends 父类)Override:方法重写只改动方法体。 继承不能继承父类私有属性及...

网友评论

      本文标题:类继承之方法重写

      本文链接:https://www.haomeiwen.com/subject/tpmwoktx.html