【C#】【平时作业】习题-9-接口

简介: 【C#】【平时作业】习题-9-接口

1、什么是接口


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

q3.png

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


q2.png

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

软件界面

q1.png

相关文章
|
2月前
|
达摩院 Linux API
阿里达摩院MindOpt求解器V1.1新增C#接口
阿里达摩院MindOpt求解器发布最新版本V1.1,增加了C#相关API和文档。优化求解器产品是求解优化问题的专业计算软件,可广泛各个行业。阿里达摩院从2019年投入自研MindOpt优化求解器,截止目前经历27个版本的迭代,取得了多项国内和国际第一的成绩。就在上个月,2023年12月,在工信部产业发展促进中心等单位主办的首届能源电子产业创新大赛上,MindOpt获得电力用国产求解器第一名。本文将为C#开发者讲述如何下载安装MindOpt和C#案例源代码。
158 3
阿里达摩院MindOpt求解器V1.1新增C#接口
|
2月前
|
IDE C# 开发工具
C#系列之接口介绍
C#系列之接口介绍
|
2月前
|
编译器 C# 开发者
C# 11.0中的新特性:覆盖默认接口方法
C# 11.0进一步增强了接口的灵活性,引入了覆盖默认接口方法的能力。这一新特性允许类在实现接口时,不仅可以提供接口中未实现的方法的具体实现,还可以覆盖接口中定义的默认方法实现。本文将详细介绍C# 11.0中接口默认方法覆盖的工作原理、使用场景及其对现有代码的影响,帮助开发者更好地理解和应用这一新功能。
|
2月前
|
安全 C# 开发者
C#中的默认接口方法:接口演化的新篇章
【1月更文挑战第11天】本文探讨了C# 8.0中引入的默认接口方法,这一特性允许在接口中定义具有默认实现的方法。文章介绍了默认接口方法的语法、使用场景,以及它们如何影响接口的设计和实现,同时讨论了默认接口方法带来的好处和潜在的陷阱。
|
2月前
|
前端开发 API C#
C# 接口
C# 接口
25 1
|
2月前
|
存储 安全 编译器
《C#程序设计》期末大作业复习答案
《C#程序设计》期末大作业复习答案
|
10月前
|
设计模式 自然语言处理 C#
C#OOP之八 继承 接口和抽象类
C#OOP之八 继承 接口和抽象类
35 0
|
2月前
|
C# 开发者 索引
C# 11.0中的所需成员:强化接口与抽象类的约束
【1月更文挑战第24天】C# 11.0引入了所需成员(Required members)的概念,这一新特性允许在接口和抽象类中定义必须被实现的成员,包括方法、属性、索引器和事件。通过所需成员,C# 强化了对接口实现和抽象类继承的约束,提高了代码的一致性和可维护性。本文将详细探讨C# 11.0中所需成员的工作原理、使用场景及其对现有编程模式的影响。
|
2月前
|
C# 开发者 索引
C# 11.0中的静态抽象成员:接口中的新变革
【1月更文挑战第25天】C# 11.0引入了接口中的静态抽象成员,这一新特性为接口设计带来了更大的灵活性。静态抽象成员允许在接口中定义静态方法和属性,并要求实现类提供具体的实现。本文将详细探讨C# 11.0中静态抽象成员的工作原理、优势及其对现有编程模式的影响,旨在帮助读者更好地理解和应用这一新特性。
|
2月前
|
C#
C# 继承、多态性、抽象和接口详解:从入门到精通
在 C# 中,可以将字段和方法从一个类继承到另一个类。我们将“继承概念”分为两类: 派生类(子类) - 从另一个类继承的类 基类(父类) - 被继承的类 要从一个类继承,使用 : 符号。 在以下示例中,Car 类(子类)继承了 Vehicle 类(父类)的字段和方法:
57 2