• 接口


    将一个对象看成多个类型的能力成为多继承(multiple inheritance)。CLR支持单实现继承和多接口继承。
    接口仅是包含着一组虚方法的抽象类型,其方法包括名称、参数、和返回值类型,不能包括任何实现。
    接口中也可以定义时间、无参属性以及含参属性(索引器),还允许包含静态方法、静态字段、常数、以及静态构造器,Csharp编译器阻止我们在一个接口中定义任何静态成员,另外CLR也不允许接口中包含任何的实例字段或实例构造器。

    接口的非静态方法总被认为时共有的虚方法。在Csharp中,如果一个实现类型实现接口方法时省略了virtual关键字,那么该方法将被认是一个密封(sealed)的虚方法。
    一个接口不能继承其他类型的实现,但是可以继承其他接口。

    和引用类型相似,值类型也可以实现0个或多个接口,但是当我们将一个值类型实例转型为一个接口类型时,该值类型将被装箱。

    基类型和接口类型的选择:
    IS-A与CAN-DO关系: IS-A基类型,CAN-DO接口类型
    易用性   :基类型使用方便,接口类型必须实现
    一致的实现:
    版本
  • 相关阅读:
    一行命令搞定node.js 版本升级
    doesn't contain a valid partition table 解决方法
    debian kill 进程等命令
    FastDFS配置说明(中英文)
    FastDFS问题汇总
    FastDFS常见命令
    FastDFS安装配置手册
    windows 与Linux 互传文件
    FtpClient中文乱码问题解决
    windows 配置host
  • 原文地址:https://www.cnblogs.com/songshuqun/p/748159.html
Copyright © 2020-2023  润新知