1 using System; 2 3 namespace InterfaceDemo 4 { 5 //食物接口 6 public interface Food 7 { 8 //在接口中定义属性,属性也不能实现 9 float price { set; get; } 10 11 //在接口中,定义方法 12 //1. 不能添加访问修饰符,默认都是public 13 //2. 在接口中的方法不能实现 14 void Eat(); 15 } 16 public interface B 17 { 18 19 } 20 //苹果类 21 //Apple继承于A类,并且实现了Food接口和B接口 22 //3. 一旦某个类实现了接口,就必须实现接口中定义的全部成员 23 public class Apple : Food, B 24 { 25 public float price 26 { 27 get 28 { 29 return 1.5f; 30 } 31 set 32 { 33 this.price = value; 34 } 35 } 36 //实现了 Food 接口中的 Eat 方法 37 public void Eat() 38 { 39 Console.WriteLine("吃下苹果后,hp + 10"); 40 } 41 } 42 43 public class Banana : Food, B 44 { 45 public float price 46 { 47 get 48 { 49 return 3.8f; 50 } 51 set 52 { 53 this.price = value; 54 } 55 } 56 //实现了 Food 接口中的 Eat 方法 57 public void Eat() 58 { 59 Console.WriteLine("吃下香蕉后,hp + 12"); 60 } 61 } 62 class Program 63 { 64 static void Main(string[] args) 65 { 66 Apple a = new Apple(); 67 a.Eat(); 68 69 Console.WriteLine(a.price); 70 71 //多态--使用接口实现的多态 72 Food b = new Apple(); 73 b.Eat(); 74 75 76 Banana ba = new Banana(); 77 ba.Eat(); 78 Console.WriteLine(ba.price); 79 //4. 不能够直接实例化接口 80 //Food f = new Food(); 81 } 82 } 83 }
原文:http://www.cnblogs.com/stardream19/p/7241482.html