【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专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性. ...
随机推荐
- dotnet实现多态的三种方法
虚方法 virual 抽象方法 abstract 不能 new 不带方法体: 接口 Interface
- ORM底层逻辑
1 数据库必然是只认识Sql语句 2 ORM的底层必然是ADO.NET 3 ORM也可以说是ADO的一种封装 ORM: 1 通过实体生成Sql语句-大量的反射 2 对应映射关系
- 016 Python 中的基本运算符
#!/usr/bin/env python # -*- coding:utf-8 -*- # Datatime:2022/7/28 15:01 # Filename:016 Python 中的基本运算 ...
- python-requests模拟上传文件-带参数
方法1: 1.安装requests_toolbelt依赖库 #代码实现def upload(self): login_token = self.token.loadTokenList() for to ...
- awk优化钉钉通知测试报告
一.背景 在之前的博客 Go服务自动触发单元测试覆盖率 中钉钉通知的效果实现如下图: 最近RD提出对本次和上次覆盖率的比对需求,并把比对结果也显示在钉钉通知上. 二.实现思路 要实现数据比对,就需要对 ...
- 【2024.08.15】NOIP2024暑假集训模拟赛(13)
[2024.08.15]NOIP2024暑假集训模拟赛(13) T1 先找能构成回文的最长前缀和后缀(长度相同的),然后在任意一边的基础上扩展,看能否接一个回文串. #include<bits/ ...
- 在线激活win
目前DragonKMS神龙版能激活win11.win10.win8/8.1.win7以及server2008/2012/2016/2019/2022等系统版本,其中包括:专业工作站版.企业版.专业版. ...
- 【问题解决】java.lang.SecurityException: JCE cannot authenticate the provider BC
问题复现 历史项目升级JDK(由1.7升级到8),进行加密/解密时出现报错java.lang.SecurityException: JCE cannot authenticate the provid ...
- 用Python创建一个简单的Web服务器
基本思路: 在浏览器地址栏通过输入本机地址:http://127.0.0.1:8000 能够访问我们自己创建的Web服务器,并且给浏览器返回一句Hello World 代码实现: 1 import s ...
- UE4纯C++实现游戏快捷栏
要想创建一个游戏中的快捷栏我们往往通过以下几步来实现(目录导航): 1.创建UI:我们首先需要有在游戏视口中添加一个快捷栏UI界面,以供玩家看到自身的快捷栏. 2.物品读取:其次有了界面之后我们需要往 ...