`
triff
  • 浏览: 2145 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

有关overload、override和overwrite的反思

阅读更多
这里写下的是我自己的思考

用例子来说明:

class A
{
  void B(){}
  void B(int i){}  ----------------------------------------  1
};

class C extends A
{
  void B(){System.o.p...;}  -------------------------------  2
  void B(float f){}  --------------------------------------  3
}

这里有3处:
1是overload:和原函数在同一个类中,参数不一样
2是override:子类中,参数和原函数一样
3是overwrite:子类中,参数和原函数不一样

这时就可以解释了,overload就是和原函数在同一个类中,但是参数不相同。override则是在子类中对父类中某函数的重新实现,但是参数要求一样。overwrite则相当于3在2的基础上做了overload,但是它对于原函数则是先override,再override,成为了overwrite。

这里我都是用的英文,没有使用中文翻译,因为中文翻译的实在是太差了,而且没有统一的标准。overload翻译成为重载已经成为大家的习惯,而虽然overwrite经常翻译为重写,但是真正意义上重写的工作应该是override做的。

如有不正确的地方,希望大家指正!
0
0
分享到:
评论

相关推荐

    Override,Overload,Overwrite的区别---马克-to-win Java视频

    Override Overload Overwrite 马克-to-win Java视频

    C++中overload,override,overwrite的区别详细解析

    在C++编程语言中,`overload`(重载)、`override`(覆盖)和`overwrite`(重写)是三个关键的概念,它们都涉及到函数的多态性,但各有其特定的含义和规则。接下来,我们将深入探讨这三个概念的区别。 **1. ...

    一线大厂百度面试题.zip

    3.1.0 在函数内定义一个字符数组, 用 gets 函数输入字符串的时候, 如果输入越界, 为什么 程序会崩溃? 3.1.1 C++中引用与指针的区别 3.1.2 C/C++程序的内存分区 ...3.2.8 overload 、override 、overwrite 的介绍?

    程序员大厂面试百度篇.pdf

    * overload、override、overwrite的介绍(C++中的函数重载和重写) 7. 海量数据处理: * 海量日志数据,提取出某日访问百度次数最多的那个IP(大数据处理) * 有10个文件,每个文件1G,每个文件的每一行都存放的...

    C++题目汇总终稿 701

    C++题目汇总终稿701包含了众多C++和计算机科学相关的重要概念,涵盖了从基础知识到高级特性的多个方面。让我们逐一深入探讨这些知识点。 1. **进程与线程的区别**: 进程是资源分配的基本单位,拥有独立的内存空间...

    大厂面试系列二.pdf

    overload、override和overwrite的区别在于,overload是重载,指在同一个作用域内,函数名相同但参数列表不同的函数;override是重写,指派生类中重写基类的方法;overwrite是覆盖,通常指文本上的覆盖,与编程概念不...

    C++背题大纲1

    重载(overload)是指在同一个作用域内可以有多个同名但参数列表不同的函数。覆盖(override)则是在派生类中重写基类的虚函数,保持相同的函数签名。而overwrite通常指的是简单的函数复写,不涉及多态性。 此外,...

    面向对象技术-0.pdf

    重载(overload)、重写(override)和改写(overwrite)** - **重载(overload)**: 同一个类中多个同名方法,但参数列表不同。 - **重写(override)**: 子类中定义一个和父类完全相同的方法,以覆盖父类的行为。 - **改写...

    J2EE武功秘籍

    override(覆盖), overload(重载) 和 overwrite(重写)** - **Override**:子类覆盖父类的方法。 - **Overload**:同一个类中的方法,方法名相同但参数列表不同。 - **Rewrite**:通常指子类重写接口中的抽象方法。 ...

    C++题目汇总终稿 70.pdf

    ### C++中overload, override, overwrite的区别 - **overload**:在同一作用域内,函数名相同但参数列表不同。 - **override**:在派生类中重写基类的虚函数。 - **overwrite**:并非C++术语,通常用来指代`...

    ACE开发指南(初级).

    - **Override/Overwrite**:覆盖。 - **Overload**:重载。 #### 2. ACE简介及环境搭建 ##### 2.1 ACE简介 ACE (Adaptive Communication Environment) 是一个跨平台的C++框架,用于快速开发高性能、实时的应用程序...

    Java领域基础部分JavaSE笔记

    - **实现**:使用`@Override`注解以确保正确重写。 ##### 7.8 Object类 - **定义**:所有类的根父类。 - **方法**:`toString()`, `equals()`, `hashCode()`等。 #### 八、异常处理 ##### 10.1 异常体系图 - **...

Global site tag (gtag.js) - Google Analytics