virtual方法(虚方法)与abstract(抽象方法)的区别

 virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:

     情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。

     情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。

 

二、Abstract方法(抽象方法)

     abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现,只需要一个方法的签名+”;“加”{}“,抽象方法的实现必须在派生类中使用override关键字来实现。

 

三、virtual:用于父类中声明该方法可被重写(其父类也可以是抽象类)。

    存在抽象方法的类一定是抽象类,但抽象类中可以无抽象方法。继承抽象类的派生类一定要实现基类的抽象方法。这一点是和虚方法不同的。

posted @ 2009-03-02 21:58  ~SK~  阅读(140)  评论(0编辑  收藏  举报