编程技术分享平台

网站首页 > 技术教程 正文

从零开始自学C#基础的第三十五天——接口和索引器

xnh888 2024-11-08 14:45:48 技术教程 17 ℃ 0 评论

一,开始学习

1,接口

  • 调用的许多外部系统类库都是通过接口来实现的,接口可以扩展一个类的功能,接口类似“接头"的作用,实现除了继承之外的另外一种类与类之间的相互作用关系。接口定义类所能实现的属性,方法和事件。
  • 和类一样,接口也定义了一系列属性,方法和事件,但与类不同的是,接口并不提供实现,他们有类来实现,并从类中被定义为单独的实体,接口表示一种约定,实现接口的类必须严格按其定义来实现接口的每个方面。
  • 类和结构可以像类继承基类或结构一样从接口继承,但有两个例外:类或结构可继承多个接口;当类或结构继承接口时,它继承成员定义但不继承实现。

特点:

  • 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员函数的定义。
  • 不能直接实例化接口。
  • 接口可以包含事件,索引器,方法和属性。
  • 接口不包含方法的实现。
  • 类和结构可从多个接口继承。
  • 接口自身可从多个接口继承。
  • 它是使用interface关键字定义的。
  • 类和结构可以像类继承基类或结构一样从接口继承,但有两个例外:
  • 类或结构可继承多个接口;
  • 当类或结构继承接口时,它继承成员定义但不继承实现。

定义了一个类Test,实现了i1和i2,在Test类中实现了两个接口的MyFunction()方法。

2,索引器

  • 索引器像访问数组一样主要用来访问类或者结构对象,这样就可以很方便地把多个相同对象当作数组来访问,索引器类似于属性,不同之处在于他们的访问器采用参数。

特性:

  • get访问器返回值,set访问器分配值。
  • this关键字用于定义索引器。
  • value关键字用于定义由set索引器分配的值。
  • 索引器不必根据整数值进行索引,而是由用户决定如何定义特定的查找机制。
  • 索引器可被重载。
  • 索引器可以有多个形参。
  • 索引器允许我们按照与数组相同的方式对类,结构或接口进行索引。

要声明类或结构上的索引器,请使用this关键字:

  • <修饰符><放回类型>this[参数列表]
  • {
  • get{//放回代码}
  • set{//设置值代码}
  • }

这个实现了一个索引器,可以将类MyClass的私有字段成员进行赋值,并可以输出这些字段的值。

索引器也可以具备重载,重写,多态等方法特性,从某种角度,可以把索引器理解或特殊的方法。

二,小结

1,调用的许多外部系统类库都是通过接口来实现的,接口可以扩展一个类的功能,接口类似“接头"的作用,实现除了继承之外的另外一种类与类之间的相互作用关系。接口定义类所能实现的属性,方法和事件。

2,索引器像访问数组一样主要用来访问类或者结构对象,这样就可以很方便地把多个相同对象当作数组来访问,索引器类似于属性,不同之处在于他们的访问器采用参数。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表