C#编程实践:接口与集合接口应用示例

需积分: 15 12 下载量 96 浏览量 更新于2024-09-17 2 收藏 64KB DOC 举报
"本实验是关于C#编程基础的,主要涵盖了接口的使用以及集合接口的实现。实验中包括了两个部分:一是设计并实现IEnglishDimensions和IMetricDimensions接口,二是利用IEnumerable和IEnumerator接口处理水果篮的水果装入与遍历。" 在C#编程中,接口(Interface)是一种定义行为规范的类型,它允许类或者结构体声明它们实现了特定的方法。在这个实验中,有两个接口被定义:IEnglishDimensions和IMetricDimensions,它们分别代表英制和公制单位下的尺寸显示。这两个接口都有Length和Width两个方法,用于获取矩形框的长度和宽度。Box类作为这两个接口的实现者,能够以两种不同的度量衡系统展示其尺寸。Box类内部用英寸(inch)存储尺寸,然后通过接口的方法返回相应的英制或公制值。 实验的第二部分涉及到集合接口的使用。在C#中,IEnumerable接口代表可枚举的集合,而IEnumerator接口则用于遍历这些集合。这里,我们创建了一个FruitBasket类,它可以容纳最多10个Apple或Banana对象,它们都继承自一个抽象基类Fruit。FruitBasket需要实现IEnumerable接口,以便可以通过foreach循环或其他方式遍历其内部的水果。这样,我们就可以轻松地添加水果到篮子中,并且遍历每个水果,检查其类型或者执行其他操作。 为了实现这些功能,通常会在FruitBasket类中包含一个私有的List<Fruit>集合,用于存储水果实例。FruitBasket类需要提供Add方法来添加水果,并确保不超过最大容量。此外,还需要实现GetEnumerator方法,该方法返回一个IEnumerator<Fruit>实例,使得可以遍历FruitBasket中的所有水果。 通过这个实验,学生将能够深入理解接口的定义和实现,同时掌握如何利用集合接口处理数据的装入和遍历。这不仅锻炼了面向对象的设计能力,还强化了对C#语言特性的运用,特别是在多态性和泛型方面的实践。