重载(Overload)
重载---类中定义的方法可能有不同的版本
public book withdraw(double amt,string name)
public double withdraw(double amt)
特点:方法名必须相同
参数列表必须不相同
返回值类型可以不相同
虚拟函数
声明虚方法
使用virtual关键字 public virtual bool withdraw(...)
调用虚方法,运行时将确定调用对象是什么类的实例,并调用适当的覆写的方法。
虚方法可以有实现体
覆写(overwrite)
子类为满足自己的需要来重复定义某个方法的不同实现--覆写
通过使用关键字override来覆写
public override bool withdraw()
只有虚方法和抽象方法才能覆写
特点:
相同的方法名称
相同的参数列表
相同的返回值类型
| Item | Override覆写 | Overload重载 |
| 位置 | 存在于继承关系的类中 | 存在于同一类中 |
| 方法名 | 相同 | 相同 |
| 参数列表 | 相同 | 必须不同 |
| 返回值 | 相同 | 可以不相同 |
抽象方法:
必须被派生类覆写的方法
可以看成是没有实现体的虚方法
如果类包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其他一般方法
public abstract bool withdraw()
本文详细阐述了面向对象编程中的重载(Overload)与覆写(Override)概念,对比了两者之间的区别,包括它们的位置、方法名、参数列表及返回值等方面,并解释了虚拟函数和抽象方法的作用。
796

被折叠的 条评论
为什么被折叠?



