1、什么是接口

为派生类提供因该遵守的标准结构,而本身只包含成员声明,不包含成员的定义

2、接口与抽象类有什么区别

3、设计IBluetooth。

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

4、设计Mobliephone,Laptop和SmallCar类,实现蓝牙接口。

 class Mobliephone : IBluetooth
{
public double Type { get=>3.0; } public double MaxTransferSpeed { get=>500; } public string TransferDataByBluetooth(string data)
{
return "MobilePhone using interface now!" + data;
}
}
 class Laptop : IBluetooth
{
public double Type { get => 2.5; } public double MaxTransferSpeed { get => 300; } public string TransferDataByBluetooth(string data)
{
return "Laptop using interface now!" + data;
}
}
 class SmallCar : IBluetooth
{
public double Type { get => 1.0; } public double MaxTransferSpeed { get => 100; } public string TransferDataByBluetooth(string data)
{
return "SmallCar using interface now!" + data;
}
}

5、设计方法UseDeviceBluetooth,输出显示接口中TransferDataByBluetooth方法的返回信息。

初级玩法

 private void button1_Click(object sender, EventArgs e)
{
Mobliephone m = new Mobliephone();
MessageBox.Show(m.TransferDataByBluetooth("初级玩法"));
}

中级玩法

 public void UseDeviceBluetooth(IBluetooth ib, string data)
{
string r = ib.TransferDataByBluetooth(data);
MessageBox.Show(r);
}
private void button2_Click(object sender, EventArgs e)
{
Mobliephone m = new Mobliephone();
Mobliephone l = new Mobliephone();
UseDeviceBluetooth(m, "歌唱我的祖国");
UseDeviceBluetooth(l, "妖精打架限定影像");
} private void button3_Click(object sender, EventArgs e)
{
Mobliephone m = new Mobliephone();
Laptop l = new Laptop();
SmallCar c = new SmallCar();
UseDeviceBluetooth(m, "歌唱我的祖国");
UseDeviceBluetooth(l, "妖精打架限定影像");
UseDeviceBluetooth(c, "开车车欸");
}

软件界面

【C#】【平时作业】习题-9-接口的更多相关文章

  1. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  2. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  3. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  4. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  5. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  6. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

  7. 【WCF】自定义错误处理(IErrorHandler接口的用法)

    当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...

  8. PHP以接口方式实现多重继承(完全模拟)--学习笔记

     1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...

  9. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

  10. 【接口开发】浅谈 SOAP Webserver 与 Restful Webserver 区别

    接口,强大,简单,交互,跨越平台 下面简单阐述这两大接口思想 一 REST: REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性. ...

随机推荐

  1. UEFI原理与编程(三)

    1 开发UEFI服务 本质Protocol 就是包含属性和函数指针的结构体,功能上来说就是提供者和使用者对服务的一种约定. 2 开发UEFI驱动 一个设备/总线驱动程序在安装时首要找到对应的硬件设备( ...

  2. USB2.0 USB3.0 供电情况及规定

    USB(通用串行总线)的不同版本在供电能力和规定上有所不同.以下是关于USB 2.0.USB 3.0和USB 3.1供电情况的详细信息: USB 2.0 最大供电电流: 500毫安 (mA) 最大供电 ...

  3. 神经网络之卷积篇:详解残差网络(ResNets)(Residual Networks (ResNets))

    详解残差网络 ResNets是由残差块(Residual block)构建的,首先解释一下什么是残差块. 这是一个两层神经网络,在\(L\)层进行激活,得到\(a^{\left\lbrack l + ...

  4. 云原生周刊:2024 年 K8s 基准报告 | 2024.4.8

    开源项目推荐 Argo CD Image Updater Argo CD Image Updater 是一个自动更新 Argo CD 管理的 Kubernetes 工作负载容器镜像的工具.简而言之,它 ...

  5. 云原生周刊:K8s 的 YAML 技巧 | 2023.12.4

    开源项目推荐 Helmfile Helmfile 是用于部署 Helm Chart 的声明性规范.其功能有: 保留图表值文件的目录并维护版本控制中的更改. 将 CI/CD 应用于配置更改. 定期同步以 ...

  6. 掀起云端革命!ToDesk云电脑与传统PC电脑的差异分析

    在科技日新月异的今天,传统PC电脑的市场地位正悄然发生变化.随着云计算技术的不断成熟与普及,云电脑逐渐走进大众视野,不同于传统PC电脑的高昂的成本和易退化的硬件性能,云电脑正以其轻成本高性能的优势吸引 ...

  7. Linux利用scp命令上传下载文件

    scp是secure copy的简写,用于在 Linux 下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. scp传输是加密的,可能会稍微影响一下速度.当你服务 ...

  8. h5+ 检测 APP 是否开启应用通知权限

    h5+ 检测 APP 是否开启应用通知权限 原文可查看此处,搜索 h5+ 检测 APP 是否开启应用通知权限 https://mp.weixin.qq.com/mp/profile_ext?actio ...

  9. 使用Roslyn的源生成器生成DTO

    前言 源生成器的好处很多, 通过在编译时生成代码,可以减少运行时的反射和动态代码生成,从而提高应用程序的性能, 有时候需要对程序AOT以及裁剪编译的dll也是需要用SG来处理的. 我们开发程序应该都绕 ...

  10. Linux /dev/loop0文件详解

    loop设备介绍 在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备.它能使我们像块设备一样访问一个文件. 在使用之前,一个 loop 设备必须要 ...