虚方法virtual抽象方法abstract接口interface区别
Posted 沙漠绿洲
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚方法virtual抽象方法abstract接口interface区别相关的知识,希望对你有一定的参考价值。
接口、抽象类、抽象方法、虚方法:
这四个名词时非常容易混淆的:
首先说一下接口 与抽象类 的异同:
相同点:
1.他们都不能实例化自己,也就是说都是用来被继承的。
2.抽象类中的抽象方法和接口方法一样,都不能有方法体
不同点:
1.抽象类里可以有字段,接口中不能有字段.
2.抽象类中的普通方法可以有方法体,而接口方法没有方法体。
3.接口中的方法不能有访问修饰符,抽象类中的抽象方法被继承,需要override重写 .
4.接口更像是一种规范,一种约束。
5.一个子类只能继承一个抽象类,但却可以继承多个接口。
接下来是抽象方法 和虚方法 的异同:
其实可以把抽象方法看做是没有方法体的虚方法。
相同点:
1.抽象方法和虚方法都可以被重写。
不同点:
1.abstract 和virtual的关键字不同
2.抽象方法一定没有方法体,而虚方法可以有方法体。
以上是关于虚方法virtual抽象方法abstract接口interface区别的主要内容,如果未能解决你的问题,请参考以下文章
转载 [c#] 虚函数(Virtual),抽象函数(abstract)和接口的区别
虚方法(virtual)和抽象方法(abstract)的区别