2011年3月15日

摘要: 1.abstract方法只能在抽象类中声明,虚方法则不是。 abstract方法必须在派生类中重写,而virtual则不必2.abstract方法不能声明方法实体, abstract public void SD(); 虚方法则可以 public virtual void sdf() { Console.WriteLine("A"); }3.虚方法可以实现多态,而抽象方法不可以。。。c#中的interface abstract 与 virtualinterface用来声明接口1.只提供一些方法规约,不提供方法主体. 如:public interface IPerson{ v 阅读全文

posted @ 2011-03-15 16:21 hudfga 阅读(1081) 评论(0) 推荐(0)

摘要: virtual一般用在基类中,子类中用override1.无virtual时,编译期就确定方法的类型了。也即:无法实现多态了。2.有vitual时,方法在运行时确定类型。可以实现多态,只要子类override基类的vitual方法。具体的检查的流程如下1、当调用一个对象的函数时,系统会直接去检查这个对象申明定义的类,即申明类,看所调用的函数是否为虚函数;2、如果不是虚函数,那么它就直接执行该函数。而如果有virtual关键字,也就是一个虚函数,那么这个时候它就不会立刻执行该函数了,而是转去检查对象的实例类。3、在这个实例类里,他会检查这个实例类的定义中是否有重新实现该虚函数(通过overrid 阅读全文

posted @ 2011-03-15 16:19 hudfga 阅读(254) 评论(0) 推荐(0)


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3