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, "开车车欸");
}
软件界面