- 6
- 0
- 约1.58千字
- 约 2页
- 2017-06-08 发布于重庆
- 举报
C类接口虚方法和抽象方法
C#类、接口、虚方法和抽象方法
虚拟方法与抽象方法之区别??
虚方法和抽象方法都可以供派生类重写,它们之间有什么区别呢?
1. 虚方法必须有实现部分,并为派生类提供了重写该方法的选项。抽象方法没有提供实现部分,抽象方法是一种强制派生类重写的方法,否则派生类将不能被实例化。//抽象方法public abstract class Animal public abstract void Sleep ; public abstract void Eat ; //虚方法public class Animal public virtual void Sleep public virtual void Eat 2. 抽象方法只能在抽象类中声明, 抽象方法必须在派生类中重写。虚方法不是也不必要重写。其实如果类包含抽象方法,那么该类也是抽象的,也必须声明为抽象的。
public class Animal public abstract void Sleep ; public abstract void Eat ;
这样写编译器会报错。
3. 抽象方法必须在派生类中重写,这一点跟接口类似,虚拟方法不必。抽象方法不能声明方法体,而虚拟方法可以。 包含抽象方法的类不能实例化 ,而包含虚方法的类可以实例化!
public abstract class Animal public
原创力文档

文档评论(0)