static void Main(string[] args) { Duck d = new Duck(); //Duck对象d可以使用3种方法: //1.自身定义的; //2.父类定义的 //3.接口定义的 d.Fly(); d.Cook(); d.Swim(); //将子类(Duck)对象赋给基类变量 Bird b = d; //现在只能使用基类定义的Fly()方法 b.Fly(); //将Duck对象赋给ISwin接口变量 ISwim s = d; //现在只能使用接口定义的Swim()方法 s.Swim(); //将Duck对象赋给另一个实现的接口IFood接口变量 IFood f = d; //现在只能使用接口定义的Cook()方法 f.Cook(); Console.ReadKey(); }
static void Main(string[] args) { Duck duck = new Duck(); duck.Fly(); duck.Swim(); duck.Cook(); Bird bird = duck; bird.Fly(); //将Duck对象赋给ISwin接口变量 ISwim s = duck; //只会游泳 s.Swim(); //将Duck对象赋给另一个实现的接口IFood接口变量 IFood food = duck; //只会Cook food.Cook(); Console.ReadKey(); }