【C#】接口的基本概念
基本
什么是接口
C#接口(interface)是:用来定义一种程序的协定
实现接口的类或者结构要与接口的定义严格一致。
有了这个协定,就可以抛开编程语言的限制(理论上)。
C#接口可以从多个基接口继承,而类或结构可以实现多个接口
C#接口可以包含方法、属性、事件和索引器。
接口本身不提供它所定义的成员的实现。
接口只指定实现该接口的类或接口必须提供的成员。
C#接口好比一种模版,这种模版定义了对象必须实现的方法,其目的就是让这些方法可以作为接口实例被引用。
接口不能被实例化。
类可以实现多个接口并且通过这些实现的接口被索引。
接口变量只能索引实现该接口的类的实例。
接口与抽象类的区别
接口是对动作的抽象,抽象类是对根源的抽象。
抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么
抽象类
(1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法
(2) **抽象类不能被实例化**
(3) 抽象类<u>可以但不是必须</u>有抽象属性和抽象方法,但是<u>一旦有了抽象方法,就一定要把这个类声明为抽象类</u>
(4) 具体派生类必须覆盖基类的抽象方法
(5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,则其具体派生类必须覆盖它们。
接口
(1) **接口不能被实例化**
(2) 接口<u>只能包含方法声明</u>
(3) 接口的成员包括<u>方法、属性、索引器、事件</u>
(4) 接口中**不能包含**<u>常量、字段(域)、构造函数、析构函数、静态成员。</u>
实例
1.设计接口:IBluetooth
。
2.设计类:Mobliephone
,Laptop
和SmallCar
类,实现蓝牙接口。
3.设计方法:UseDeviceBluetooth
4.输出显示接口中TransferDataByBluetooth
方法的返回信息。
本次实例,采用 Windows desktop App (Framework)进行演示
设计接口
interface IBluetooth
{
//类型/版本 -- 萌狼蓝天 微信公众号:mllt9920
double Type { get; }
//最大传输速度 -- 萌狼蓝天 微信公众号:mllt9920
double MaxTransferSpeed { get; }
//传输数据 -- 萌狼蓝天 微信公众号:mllt9920
string TransferDataByUsb(string data);
}
这个笔记是很久以前的,我发现没写完……哈哈哈
哈哈哈
将就看吧。
版 权 声 明
作者:萌狼蓝天
QQ:3447902411(仅限技术交流,添加请说明方向)
转载请注明原文链接:https://www.cnblogs.com/mllt/p/CShap-interface-base.html