您的位置:首页 > 编程语言 > C#

C#关键字 虚方法和抽象方法

2010-05-15 18:00 253 查看
虚方法vitual和抽象方法abstract的区别:

1虚方法和抽象方法都是为了多态而诞生的

2虚方法利用关键词virtual表示,抽象方法利用abstract表示

3虚方法有实现的主题,可以有实现,也可以没有实现,而抽象方法仅仅只有一个声明,在子类中必须进行override即实现

4虚方法在调用的时候可以使用父类的方法实现主题,而抽象方法则必须在子类中进行override

5虚方法可以存在于普通的类中,而抽象方法只能存在于抽象类之中,及abstract类中

另外:

为什么需要new修饰符,即在继承一个父类的时候,子类中利用new来隐藏父类的实现,出现的作用就是为了弥补父类的设计不足,从而来隐藏父类的使用

多态:一个是基类继承式多态,一个是接口实现式多态

动态绑定:即晚期绑定,是为了区别静态绑定的区别,静态绑定是在编译期就能确定关联,通过方法的override来实现,而动态绑定是在运行期通过方法的重载即override来实现的

在使用多态的时候,前面的父类型或者是实现的接口类型的作用:在运行期的时候,通过检查此方法,然后看方法的类型,如果是虚方法或者是抽象方法,那么就看具体的类型有没有重载此方法,如果重载了此方法,那么就调用具体类型的实现方法,如果没有,那么就直接调用父类的实现方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: