虚方法和抽象类
Posted 小二上酒彡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚方法和抽象类相关的知识,希望对你有一定的参考价值。
虚方法特点总结
1.在父类中把需要设置为虚方法的方法前面加上virtual标记.
2.虚方法在父类中必须有实现.
3.子类在继承父类后,可以选择对虚方法的重新,也可以选择不重新.
4.当重写时,访问修饰符,返回值类型,参数等都要一致.
5.当方法标记是virtual或者override的时候都可以重写.
抽象方法特点总结
1.使用abstract关键字标记方法
2.抽象方法在父类中不能有任何实现,所有抽象方法没有方法体.
3.抽象成员必须在抽象类中.
4.抽象类是不能被实例化的,不能new一个抽象类的对象.
5.抽象类中既可以有抽象成员,也可以有实例对象.
6.抽象成员不能为private
7.子类必须重新父类中的抽象方法,(因为父类中没有默认实现),除非子类也标记为abstract
接口的特点
1.使用interface关键字
2.一般接口名字以大写的I开头
3.接口中只包含方法
4.接口中的成员不能有实现
5.实现接口的类必须实现接口中的所有成员
抽象类与接口的区别
抽象类是对 对象的抽象,接口是对行为的规范(比如飞机会飞,鸟也会飞,但他们不能从一个抽象类中派生出来,却可以用一个飞行的接口).
一个类一次可以实现若干个接口,但是只能扩展一个父类
以上是关于虚方法和抽象类的主要内容,如果未能解决你的问题,请参考以下文章
C#虚方法(Virtual)抽象方法(Abstract),接口(Interface)抽象类的区别