虚方法和抽象类

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)抽象类的区别

总结下抽象类Abstract和虚方法Virtual(易混点)

关于C#中的抽象类抽象方法和虚方法的探究

抽象类,虚方法,接口