关闭

override与overload的区别

4533人阅读 评论(1) 收藏 举报

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:797843次
    • 积分:10648
    • 等级:
    • 排名:第1584名
    • 原创:274篇
    • 转载:94篇
    • 译文:0篇
    • 评论:145条
    最新评论
    友情链接