python子类覆盖子类的方法称为什么?

python子类覆盖子类的方法称为什么?,第1张

在 Python 中,一个子类可以通过定义与父类同名的方法来覆盖(override)父类的方法。这个过程也被称为方法重写(method overriding)。

当一个对象调用被覆盖的方法时,Python 会优先调用子类中定义的方法,而不是父类中的方法。这可以让子类在不改变方法名称的情况下,自定义方法的实现。

下面是一个简单的例子,演示了如何在子类中覆盖父类的方法:

class Animal:

def make_sound(self):

print("The animal makes a sound.")

class Dog(Animal):

def make_sound(self):

print("The dog barks.")

class Cat(Animal):

def make_sound(self):

print("The cat meows.")

my_dog = Dog()

my_cat = Cat()

my_dog.make_sound()  # Output: The dog barks.

my_cat.make_sound()  # Output: The cat meows.

在上面的例子中,Animal 类有一个 make_sound 方法,它打印出一条通用的消息。Dog 和 Cat 类都继承自 Animal 类,并覆盖了 make_sound 方法。当我们创建一个 Dog 对象和一个 Cat 对象时,并物握森调用它们的 make_sound 方法罩亩时,Python 会分别调用 Dog 和 Cat 类中定义的方法,而不是调用 Animal 类中的方法皮配。

需要注意的是,如果在子类中覆盖父类的方法时,方法签名(即方法的名称和参数列表)必须与父类中的方法相同。否则,Python 不会将其视为一个覆盖,而是视为一个新的方法。

顺便吐槽下,百度回答真难用

1、首先点击pycharm主面板上的“File->closeproject选项”。

2、其次点击项目右上角族散亩的“×号”,删除项目。

3、最后到兆森文件夹里找到掘碰项目所在位置,删除相应文件即可。

Python 的测试覆盖率使用 Coverage 模块, 需要先安装:

假设你原来执行单元测试的命令为:

那么需要分析测试覆盖率时,只要将命令改为如下即可:

参数解释:

输出到控制台的简单统计结果:

也可以转化成HTML,会在当前目录生成 covhtml 文件夹凯梁,打开html文件闹盯即可查看详细的覆盖率情况:

yaml脚本添加如下两行:

在gitlab的 CI/CD -> General pipelines settings 配置中,添加 Test coverage parsing 的正则:

运行后,单元测试液孙和的 Job 页面即可看到coverage

---EOF---


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8236471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存