• Csharp学习笔记_kita (第二天)interface


    interface 接口

    当拿到一个接口类后,需要新建一个类来继承该接口类,然后针对接口类里面的函数进行重载(接口类里面没有实现,只是类似于声明吧);

    interface interfaceCalss

    {

      string GiveMeString(string stringName);

    }

    接口类和接口类之间也可以继承,实现派生接口类的话需要重载该派生类所继承的所有祖宗十八代类(希望不会有继承18次的接口)

    ##疑问,接口类(interface)和抽象类(abstract)的区别和联系?

    接口用于规范,抽象类用于共性。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。

    接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。

    抽象类可以提供某些方法的部分实现,接口不可以。抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。

    在抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。

    接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。

    此外接口不能包含字段、构造函数、析构函数、静态成员或常量。

    还有一点,我们在VS中实现接口时会发现有2个选项,一个是实现接口,一个是显示实现接口。实现接口就是我们平常理解的实现接口,而显示实现接口的话,实现的方法是属于接口的,而不是属于实现类的。

    上面这段话从菜鸟教程上粘贴过来的,我也没看懂,后面再回过头来理解一下吧。

     

    uhm 通过这样一个例子:新建两个类分别继承了接口,重载了接口内的函数。

    值得注意的是在main函数里面 用接口新建对象并且用派生类(儿子类)初始化对象,接着得到不同的运行路径和同样的运行结果。

    这个简单的例子告诉我们,感觉这个interface这玩意没啥卵用。

    运行结果:

  • 相关阅读:
    Jquery基于ActiveX的批量上传
    枚举类型在as3中的实现
    delphi操作word基类,插入表格,分页符,日期,页码,替换,图片
    消除文本锯齿
    As3显示对象scrollRect滚动问题
    Bitmap序列化
    加载图片的方法
    球体旋转坐标推导
    AS3基于TextField实现图文并排更新于2015.08.05
    Flash与外部程序之间的通信
  • 原文地址:https://www.cnblogs.com/kita/p/10406342.html
Copyright © 2020-2023  润新知