1.隐式接口 public interface IParent { void bear(); } 定义类接收IParent class Bears : IParent { public void bear() { Console.WriteLine("灰熊"); } } 主窗体显示 Bears children = new Bears(); IParent parent = children; children.bear(); parent.bear(); 2. 显示接口 public interface IParent { void bear(); } 类继承接口 class Bears : IParent { 运用接口里的方法 public void bear() { Console.WriteLine("灰熊"); } void IParent.bear() { Console.WriteLine("熊猫"); } } 主窗体显示 Bears children = new Bears(); IParent parent = children; children.bear(); parent.bear(); 3. 多接口实现 public interface IParent { void bear(); } public interface IParentBear { void bear2(); } class Bears : IParent, IParentBear { public void bear() { Console.WriteLine("灰熊"); } public void bear2() { Console.WriteLine("北极熊"); } void IParent.bear() { Console.WriteLine("熊毛"); } } 主窗体显示 Bears children = new Bears(); IParent parent = children; IParentBear parentBear = children; children.bear(); parent.bear(); parentBear.bear2(); //IEnumerator接口 //2.实现接口IEnumerable public class Person : IEnumerable { //1.定义一个类 private string[] names = new string[] { "A", "B", "C" }; public IEnumerator GetEnumerator() { return new PresonEnumerator(names); } } //3.实现接口 public class PresonEnumerator : IEnumerator { //定义一个字符串数组 private string[] _names; //遍历时的索引 private int index = -1; //构造函数,带一个字符串数组的参数 public PresonEnumerator(string[] temp) { _names = temp; } //返回当前索引指向names数组中的元素 public object Current { get { return _names[index]; } } //索引,判断是否遍历完成 public bool MoveNext() { index++; if (index < _names.Length) { return true; } else { return false; } } //重置索引的值,便于下次遍历 public void Reset() { index = -1; } } 主窗体显示 Person p1 = new Person(); foreach (string item in p1) { Console.WriteLine(item); } Console.ReadLine();