日常收集C#接口知识(知识全面)

2019-12-30 11:28:58王旭

  1、编程语言和开发环境的独立性;
  2、组件位置的透明性;
  3、组件的进程透明性;
  4、可扩充性;
  5、可重用性;
  6、具有强有力的基础设施;
  7、系统一级的公共服务;

  C#语言由于其许多优点,十分适用于组件编程。但这并不是说C#是一门组件编程语言,也不是说C#提供了组件编程的工具。我们已经多次指出,组件应该具有与编程语言无关的特性。请读者记住这一点:组件模型是一种规范,不管采用何种程序语言设计组件,都必须遵守这一规范。比如组装计算机的例子,只要各个厂商为我们提供的配件规格、接口符合统一的标准,这些配件组合起来就能协同工作,组件编程也是一样。我们只是说,利用C#语言进行组件编程将会给我们带来更大的方便。

知道了什么是接口,接下来就是怎样定义接口,请看下一节--定义接口。

第二节 定义接口

  从技术上讲,接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码可以调用组件对象的功能。
  定义接口的一般形式为:


[attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]

说明:

  1、attributes(可选):附加的定义性信息。
  2、modifiers(可选): 允许使用的修饰符有 new 和四个访问修饰符。分别是:new、public、protected、internal、 private。在一个接口定义中同一修饰符不允许出现多次,new 
修饰符只能出现在嵌套接口中,表示覆盖了继承而来的同名成员。The public, protected, internal, and private 修饰符定义了对接口的访问权限。
  3、指示器和事件。
  4、identifier:接口名称。
  5、base-list(可选):包含一个或多个显式基接口的列表,接口间由逗号分隔。
  6、interface-body:对接口成员的定义。
  7、接口可以是命名空间或类的成员,并且可以包含下列成员的签名: 方法、属性、索引器 。
  8、一个接口可从一个或多个基接口继承。

  接口这个概念在C#和Java中非常相似。接口的关键词是interface,一个接口可以扩展一个或者多个其他接口。按照惯例,接口的名字以大写字母"I"开头。下面的代码是C#接口的一个例子,它与Java中的接口完全一样: