• virtual、abstract、interface区别以及用法


    virtual 用于在基类中的使用的方法,使用的情况为:

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

         情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。
     
        通俗地讲:老爸用virtual告诉儿子:"孩子,你要工作,找不到事做就跟我一样扫地"。

                      儿子用override告诉全世界:"我要改变家族的使命,不再扫地,我要编程!"。

                      如果儿子不用override地话,那他只能继承家族的事业就是扫地!
     
    abstract:
       抽象类不能实例化,只能被继承。抽象类中可以有构造方法,一般方法,抽象方法,但是抽象方法并不具体实现,抽象方法必须在派生类中使用override来实现。同时,具有抽象方法的类一定是抽象类。
     
    -----abstract 与virtual : 方法重写时都使用 override 关键字
     
    Interface:
    public interface IPerson
    {
    IPerson(); //错误
    string name; //错误
    public void getIDcard();//错误
    void getName(); //right
    void getAge(string s); //right
    }
    实现interface的类
    1.与继承类的格式一致,如 public class Chinese:IPerson{}
    2.必须实现 interface 中的各个方法
  • 相关阅读:
    hdu 4768 Flyer 二分
    hdu 4767 Bell
    hdu 4759 Poker Shuffle 二进制
    uva 12589
    zoj 3057 Beans Game 博弈论
    poj 2480 Longge's problem 积性函数
    重新启程
    【Luogu P1502】 窗口的星星
    【BZOJ1855】[Scoi2010] 股票交易
    【BZOJ1122】[POI2008] 账本BBB
  • 原文地址:https://www.cnblogs.com/mcyushao/p/9667183.html
Copyright © 2020-2023  润新知