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

  虚方法vitual和抽象方法abstract的区别:

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

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

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

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

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

 

   另外:

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

 

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

 

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

 

   在使用多态的时候,前面的父类型或者是实现的接口类型的作用:在运行期的时候,通过检查此方法,然后看方法的类型,如果是虚方法或者是抽象方法,那么就看具体的类型有没有重载此方法,如果重载了此方法,那么就调用具体类型的实现方法,如果没有,那么就直接调用父类的实现方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值