方法重写,函数重载,方法覆盖的区别

方法重写,函数重载,和方法覆盖的区别

方法的重写

Overriding) 子类中定义与父类中具有相同名称和参数列表的方法,实现对父类方法的重新定义。
如果子类中重写方法将会覆盖父类中的方法。

class Animal:
    def makeSound(self):
        print("Animal is making a sound.")

class Dog(Animal):
    def makeSound(self):
        print("Dog is barking.")

函数的重载

Overloading)在同一个类中定义多个具有相同名称但参数列表不同的方法。这样做的目的是为了方便程序员使用不同参数调用同一个方法,提高代码的可读性和灵活性。在python中因为动态类型的特性,所以没有严格意义上的重载。在java中有真正的重载

class Calculator:
    def add(self, a, b):
        return a + b

    def add(self, a, b, c):
        return a + b + c

这种方法虽然不是严格意义上的函数重载,但是能够提高代码的可读性和灵活性。

方法的覆盖

overriding)和方法的重写几乎相同不多赘述。

相关推荐

  1. 方法函数载,方法覆盖区别

    2023-12-06 11:26:07       43 阅读
  2. 方法重载方法区别

    2023-12-06 11:26:07       31 阅读
  3. 重载区别

    2023-12-06 11:26:07       40 阅读
  4. C++中重载区别

    2023-12-06 11:26:07       12 阅读
  5. Vue3 置&覆盖 reactive 数组数据方法

    2023-12-06 11:26:07       24 阅读
  6. 方法原则

    2023-12-06 11:26:07       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 11:26:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 11:26:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 11:26:07       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 11:26:07       20 阅读

热门阅读

  1. 【Flink on k8s】4 - 在 Kubernetes 上运行容器

    2023-12-06 11:26:07       36 阅读
  2. 反汇编看指令重排

    2023-12-06 11:26:07       38 阅读
  3. 无状态登录和有状态登录

    2023-12-06 11:26:07       37 阅读
  4. vue3 学习

    2023-12-06 11:26:07       32 阅读
  5. import后加不加{}的区别(es6引用)

    2023-12-06 11:26:07       37 阅读
  6. 对Vue中mixin的理解

    2023-12-06 11:26:07       25 阅读
  7. 如何在 vue 项目中创建 svg 组件

    2023-12-06 11:26:07       33 阅读
  8. linux 僵尸进程 关闭看不见的进程

    2023-12-06 11:26:07       30 阅读
  9. threejs WebGLRenderer 像素比对画布大小的影响

    2023-12-06 11:26:07       43 阅读
  10. 力扣:196. 删除重复的电子邮箱(Python3)

    2023-12-06 11:26:07       44 阅读
  11. QT基础教程(QPalette和QIcon)

    2023-12-06 11:26:07       32 阅读
  12. mysql中的case when then else end用法

    2023-12-06 11:26:07       40 阅读
  13. (C++20) consteval立即函数

    2023-12-06 11:26:07       42 阅读