【C#】接口的基本概念

2023-05-16

目录
  • 基本
    • 什么是接口
    • 接口与抽象类的区别
      • 抽象类
      • 接口
  • 实例
    • 设计接口

基本

什么是接口

C#接口(interface)是:用来定义一种程序的协定

实现接口的类或者结构要与接口的定义严格一致

有了这个协定,就可以抛开编程语言的限制(理论上)。

C#接口可以从多个基接口继承,而类或结构可以实现多个接口

C#接口可以包含方法、属性、事件和索引器

接口本身不提供它所定义的成员的实现

接口只指定实现该接口的类接口必须提供的成员

C#接口好比一种模版,这种模版定义了对象必须实现的方法,其目的就是让这些方法可以作为接口实例被引用。

接口不能被实例化

类可以实现多个接口并且通过这些实现的接口被索引

接口变量只能索引实现该接口的类的实例

接口与抽象类的区别

接口是对动作的抽象,抽象类是对根源的抽象。

抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么

抽象类

(1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法  
(2) **抽象类不能被实例化**  
(3) 抽象类<u>可以但不是必须</u>有抽象属性和抽象方法,但是<u>一旦有了抽象方法,就一定要把这个类声明为抽象类</u>  
(4) 具体派生类必须覆盖基类的抽象方法  
(5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,则其具体派生类必须覆盖它们。

接口

(1) **接口不能被实例化**  
(2) 接口<u>只能包含方法声明</u>  
(3) 接口的成员包括<u>方法、属性、索引器、事件</u>  
(4) 接口中**不能包含**<u>常量、字段(域)、构造函数、析构函数、静态成员。</u>

实例

1.设计接口:IBluetooth
2.设计类:MobliephoneLaptopSmallCar实现蓝牙接口
3.设计方法:UseDeviceBluetooth
4.输出显示接口中TransferDataByBluetooth方法的返回信息。

本次实例,采用 Windows desktop App (Framework)进行演示

image.png

设计接口

interface IBluetooth
    {
        //类型/版本  -- 萌狼蓝天 微信公众号:mllt9920
        double Type { get; }
        //最大传输速度  -- 萌狼蓝天 微信公众号:mllt9920
        double MaxTransferSpeed { get; }
        //传输数据  -- 萌狼蓝天 微信公众号:mllt9920
        string TransferDataByUsb(string data);
    }

image.png

这个笔记是很久以前的,我发现没写完……哈哈哈

哈哈哈

将就看吧。

【C#】【平时作业】习题-9-接口 - 萌狼蓝天

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C#】接口的基本概念 的相关文章

随机推荐

  • HDU_3089_约瑟夫环快速递推

    HDU 3089 约瑟夫环快速递推 链接 xff1a http acm hdu edu cn showproblem php pid 61 3089 题意 xff1a 约瑟夫环问题 给出 n n n 个人 xff0c 从 1
  • 【ACM】编程笔记

    1 编译错误1 Windows下GCC编译环境中文乱码2 Java中编译错误 编码GBK的不可映射字符 2 JavaJava中 String 和 Integer 的相互转换 3 C C 43 43 C 43 43 中 int 和 strin
  • RSA 算法流程及证明

    RSA 算法流程及证明 需要的前置知识 xff1a 欧拉函数 xff0c 欧拉定理 xff0c 费马小定理 xff0c 同余式乘法性质 xff0c 互质数判断 算法描述算法流程RSA 算法证明RSA 算法 C 43 43 实现参考资料 算法
  • ftp上传不成功,提示 200 227 501 错误

    solve xff1a 检查文件名是不是中文字符 xff0c 若是 xff0c 请换成英文文件名 origin xff1a https www cnblogs com mubin p 3528353 html
  • 【WIN10】添加全局快捷键

    WIN10 添加全局快捷键 打开控制面板 点击管理工具 将 设置好快捷键 的 快捷方式 复制 移动 进 管理工具文件夹 重启 xff0c 一定要重启 xff0c 加张图片告诉你 重启
  • 如何解析DICOM文件中的Pixel Data ?

    DICOM文件可以大致分为两部分 xff1a 一部分 xff1a 与图像相关的元信息 xff0c 包括患者信息 xff0c 检查信息 xff0c 序列信息 xff0c 图像信息等等 另一部分 xff1a 图像的像素数据 在解析DICOM文件
  • 【ARM】ADS1.2 破解版安装后无法运行

    ADS1 2 安装文件 https pan baidu com s 1g0AU kxxs pqsn Lgs8evA 提取码 xff1a 5c6h WIN10 安装 ADS1 2 可能会遇到一堆兼容性bug 我的解决方法如下 xff08 不完
  • 【ARM】微处理器工作模式

    收获 SPACE 和 DCD 的区别在于 xff1a SPACE 申请一片内存空间 以字节为单位申请 xff0c 但不赋初值 DCD 申请一个字 32bit 的内存空间 xff0c 并赋初值 对于 32 位的 ARM xff0c 一个字为
  • 【MAC】添加软连接 将 sublime 放入命令行中

    软链接 类似于 Windows 的快捷方式加环境变量 将 Sublime Text 以 subl 作为新的名字进行全局软连接 span class token function sudo span span class token func
  • 【ARM】 《C 语言调用汇编子程序》 与 《汇编调用 C 语言程序》

    题目 xff1a 实现计算 1 43 2 43 3 43 43
  • 【MAC】启动 ssh 服务 及 ssh 长时间不用自动断开解决

    一 启动 ssh 服务 mac本身安装了ssh服务 xff0c 默认情况下不会开机自启 启动sshd服务 xff1a span class token function sudo span launchctl load w System L
  • 【Linux】ssh 链接服务器 并 安装宝塔面板

    一 ssh 链接服务器 xx 是连接 ssh 的端口号 xx xx xx xx 是 IP 号 span class token function ssh span p xx root 64 xx xx xx xx 二 安装宝塔面板 yum
  • 【Linux】解决 SS 在安装宝塔面板后无法连接服务器问题

    问题 xff1a 在安装宝塔面板后 ss 无法使用 xff0c 但是 ssh 可以连接服务器 原因 xff1a 因为宝塔面板的安全设置默认会禁止除 ssh 端口外的所有端口 解决 xff1a 找到宝塔面板里的安全将 ss 的 server
  • 【SSH】解决 WIN10 通过 ssh 连接 Mac 中文乱码

    问题 xff1a MacOSX 下默认的是 utf 8 字符集 xff0c WIN10 通过 ssh 连接后显示是 utf 8 xff0c 但是中文乱码 原因 xff1a 这种情况一般是终端和服务器的字符集不匹配 在 Mac 终端中输入 l
  • 【python】Notebook

    CONTENT 1 小Tips三元运算符平均数 np mean range 与 np arange 求最大 小值及索引值合并 list 为字符串剪切板模块 pyperclip将秒数转化为小时分钟秒 2 数学随机数 3 文件相关按分隔文件路径
  • 【Mac】Mac 系统读写 NTFS 格式硬盘

    查看磁盘 typename diskutil list 更新 etc fstab文件 sudo vim etc fstab 写入如下内容 xff1a LABEL 61 GRMCULXFRER none ntfs rw auto nobrow
  • 小米路由器青春版刷入其他固件

    小米路由器青春版搭载的是基于OpenWRT深度定制的智能路由器操作系统MiWiFi ROM xff0c 实质即嵌入式linux系统 小米路由器青春版自带的miwifi r1cl all 59371 2 1 26 bin及其以下版本中存在通过
  • 【数据结构】排序算法

    不稳定的排序算法 xff1a 快排 堆排 选择 希尔 排序算法时间复杂度空间复杂度稳定性冒泡 xff08 Bubble Sort xff09 O n 2 O 1 稳定快排 xff08 Quick Sort xff09 O n logn O
  • 【数据结构】POJ 1985 Cow Marathon(树的直径)

    链接 xff1a http poj org problem id 61 1985 题意 xff1a 有 n n n 个农场和 m m m 条路 xff0c 以及每条
  • 【C#】接口的基本概念

    目录 基本 什么是接口接口与抽象类的区别 抽象类接口实例 设计接口 基本 什么是接口 C 接口 interface 是 xff1a 用来定义一种程序的协定 实现接口的类或者结构要与接口的定义严格一致 有了这个协定 xff0c 就可以抛开编程