1、北京理工大学珠海学院 孙细斌,C程序设计,第6章 C面向对象编程深入,北京理工大学珠海学院 孙细斌,学习目标,掌握集合的创建和使用(System.Collections) 掌握接口的定义和使用 了解迭代器的实现原理 掌握委托(代理)的创建和使用 掌握事件的定义和使用 掌握匿名方法的定义及应用,北京理工大学珠海学院 孙细斌,6.1 集合,Collection命名空间中定义了几种数据结构,有列表(ArrayList)、队列(Queue)、栈(Stack)和哈希表(Hashtable)。 集合类都实现了ICollection、IEnumerable和Icloneable接口。,北京理工大学珠海学院
2、孙细斌,1. ArrayList类,ArrayList类提供了一个特定的数据结构,其行为上像数组,但其容量可按照需要增长。 克服了数组的主要缺点,即在实例化数组时,必须知道数组的大小。,北京理工大学珠海学院 孙细斌,2. Queue类,Queue类实现了一种先进先出的数据结构。 把对象放进一个等待队列中,一端插入,另一端移除。,北京理工大学珠海学院 孙细斌,3. Stack类,Stack类实现了一种后进先出的数据结构,,栈(Stack),one,two,three,进栈,出栈,北京理工大学珠海学院 孙细斌,4. Hashtable类,Hashtable类创建哈希表实现的数据结构支持在键对象和值
3、对象之间建立联系。,哈希桶2,北京理工大学珠海学院 孙细斌,思考: 定义了一个汽车类Automobile类,其中有一个方法MoveForward()。 现要实现小轿车Car类 又要实现蚂蚁Ant类,蚂蚁,接口 IMoveable,北京理工大学珠海学院 孙细斌,6.2 接口,6.2.1 定义接口 接口是引用类型 规则:实现一个接口的类必须精确地按照该接口的定义来实现该接口的各个成员。 接口成员包括:方法、属性、索引器和事件,为这些接口成员提供实现的过程称为“实现”接口,包括隐式实现和显示实现。 类可以同时继承多个接口。,北京理工大学珠海学院 孙细斌,6.2.1 定义接口,声明接口的语法:interface 接口名 :base-list 示例:interface ICarnivore bool IsHungry get; set; Animal Hunt( );void Eat(Animal victim); ,