所以我目前有一个地址簿程序(目的是基本的,因为不想写任何更花哨的东西)所以正在完成一个评估模块(这不是学校作业)。
我必须在这个模块中演示多态性、封装和继承。
我想知道实现 IEnumerable 是否算作如下所示的多态性?
public class AddressBookEnumerator : IEnumerator
{
#region IEnumerable Implementation
public Person[] Contacts;
int Position = -1;
public AddressBookEnumerator(Person[] ContactList)
{
Contacts = ContactList;
}
public bool MoveNext()
{
Position++;
return (Position < Contacts.Length);
}
public void Reset()
{
Position = -1;
}
object IEnumerator.Current
{
get
{
return Current;
}
}
public Person Current
{
get
{
try
{
return Contacts[Position];
}
catch (IndexOutOfRangeException)
{
throw new InvalidOperationException();
}
}
}
#endregion
}
我只是想知道是不是因为继承了 IEnumerator 类,然后为我的特定类创建了具有不同行为的新方法?或者我只是误解了 IEnumerator 的工作原理。