【C#】【平时作业】习题-9-接口
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-接口的更多相关文章
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- java基础_集合List与Set接口
List接口继承了Collection的方法 当然也有自己特有的方法向指定位置添加元素 add(索引,添加的元素); 移除指定索引的元素 remove(索引) 修改指定索引的元素 set ...
- 【WCF】自定义错误处理(IErrorHandler接口的用法)
当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...
- PHP以接口方式实现多重继承(完全模拟)--学习笔记
1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
- 【接口开发】浅谈 SOAP Webserver 与 Restful Webserver 区别
接口,强大,简单,交互,跨越平台 下面简单阐述这两大接口思想 一 REST: REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性. ...
随机推荐
- c++线程--快速上手
线程创建 头文件#include thread 是在 C++11 标准中引入的. C++11 标准引入了对多线程编程的标准化支持,其中包括了线程的创建.管理和同步机制. 头文件提供了基本的线程支持库, ...
- sigmod、tanh、ReLU激活函数的实现
import torch import torch.nn.functional as F import matplotlib.pyplot as plt import numpy as np x = ...
- kotlin类和对象—>接口
1.接口定义,使用关键字interface 来定义接口 interface MyInterface { fun bar() fun foo() { // 可选的方法体 } } 2.实现接口,一个类和对 ...
- 凌晨 12 点突发 istio 生产事故!一顿操作猛如虎解决了
事故起因 业务上新集群,本来以为"洒洒水",11 点切,12 点就能在家睡觉了.流量切过来后,在验证过程中,发现网页能够正常打开,在登录时返回了 502,当场懵逼.在相关的容器日志 ...
- Sentinel简单使用(1)
使用场景 在微服务架构中,服务之间会进行大量的调用.为了防止某个服务被过多的请求压垮,导致整个系统崩溃,就需要对流量进行控制.同时,当某个服务出现故障时,为了防止故障扩散到整个系统,需要进行熔断操作. ...
- manim边学边做--极坐标平面
PolarPlane,顾名思义,是用于创建极坐标平面的类. 与笛卡尔坐标系不同,极坐标系是基于角度和半径来定位点的,这里的每个点由一个角度和距离原点的距离表示. 在Manim中,PolarPlane通 ...
- 狂神说-Docker基础-学习笔记-05 Docker镜像原理
狂神说-Docker基础-学习笔记-05 Docker镜像原理 视频地址:https://www.bilibili.com/video/BV1og4y1q7M4?p=19 镜像是什么 镜像是一种轻量级 ...
- 每日学学Java开发规范,集合处理(附阿里巴巴Java开发手册(终极版))
前言 每次去不同的公司,码不同的代码,适应不同的规范,经常被老大教育规范问题,我都有点走火入魔的感觉,还是要去看看阿里巴巴Java开发规范,从中熟悉一下,纠正自己,码出高效,码出质量. 想细看的可以去 ...
- Python请求接口传Null
Python中没有Null,与之对应的是None. {"dog": "keji", "cat": None}
- Goland编译/运行
例子程序: 3种编译方式 方式1:直接Run 编译/运行成功,且自动创建一个文件类型的编译规则. 上图中配置说明: 1.Name:为本条配置信息的名称,可以自定义,也可以使用系统默认的值 2.Run ...