C类接口虚方法和抽象方法.docVIP

  • 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)

1亿VIP精品文档

相关文档