重载(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()