C#的接口
来源:互联网 发布:万方数据库检索式 编辑:程序博客网 时间:2024/06/16 17:54
接口:定义了一组签名方法。它是只是一套标准或规范,规定了实现该接口的类型必须包含哪些成员。
1、定义接口
C# 接口定义关键字 :interface,下面定义了一个书籍信息查询接口:
public interface IQueryBookInfo
{
string GetBookName(string name);
double GetBookPrice(string name);
string GetBookIntroduction(string name);
}
接口定义的注意事项:
(1) 接口中不能定义任何构造器方法。
(2) 接口中不能定义任何实例字段。
(3) 接口可以在文件中定义,也可以在其他类型中定义。
(4) 接口可以“继承” 接口。
(5) 接口可以有任何的可访问性修饰,如public、protected等。
另外,CLR允许在接口中定义静态成员,如:静态方法、静态字段、静态属性等。但C#禁止在接口中定义任何静态成员。
2、接口的实现和调用
(1)在C#中规定,实现接口的所有方法的可访问性修饰必须是public,否则编译不通过。
(2)在CLR中规定,所有的接口方法必须是virtual,当定义接口时,没有指定方法为virtual时,编译器会默认的为该方法添加修饰virtual和sealed,这就意味着派生类将不能重写这个方法(但派生类可以通过实现该接口的方式,来重新实现这一方法——需要使用new关键字);当定义接口时,为方法指定了virtual时,派生类可以重写该方法。
(3)在CLR中允许定义类型为接口的变量、参数和字段。
(4)在使用接口变量时,可以将实现了该接口的实例对象,赋值给接口变量;同时允许变量从一种接口类型转化为另一种接口类型,前提条件是该实例对象都实现了这两个接口。例如:String类型同时实现了Icompareble和 IEnumberable,则String的实例可赋值给这两个接口变量、并且赋值后的这两个接口变量直接可以相互转化:
String str = “yanjia”;
Icompareble compareble = str;
(5)接口方法的调用:当在对象上调用一个接口方法时,实际上调用的是该对象的类型中的方法。IEnumberable enumberable = (IEnumberable) compareble。
- C#接口-接口的实现
- C#接口-接口的继承
- C#接口-接口的继承
- c#的接口
- c#的接口
- C#接口的实现
- C#的接口
- C# 接口的调用
- C#的接口问题
- c#的接口
- 关于"C#的接口"
- C#接口的作用
- C#接口的作用
- C#接口的作用
- C#接口的作用
- C#接口的作用
- C# 接口的学习
- c#里的接口
- 2.1-2
- iOS开发 GET、POST请求方法:NSURLSession篇
- 在本机上使用nginx反向代理的设置cookie失败问题
- 13周 项目三
- 复制,粘贴,删除,撤消,跳转
- C#的接口
- CentOs6.5 安装Zlib
- 【c++程序】计算字符个数
- Eclipse 使用 Link 方式进行插件的安装
- Hive的HQL语句及数据倾斜解决方案
- JavaScript DOM 获取焦点然后逐行显示
- java对字符的编码处理
- Texturepack、physicsEditor、spriteilluminator的安装包下载
- React知识库内容精选:10篇文章让你迅速了解该技术