标签:
抽象类 | 接口 | |
异 | 用abstract定义 | 用interface定义 |
只能继承一个类 | 可以继承多个接口 | |
非抽象派生类必须实现抽象方法 | 继承接口的类必须实现所有方法 | |
需要override关键字 | 直接实现 | |
可以写有方法体的方法 | 不能写有方法体的方法 | |
同 | 1.都不能被实例化 | |
2.包含未实现的方法 | ||
3.派生类必须实现未实现的方法 |
1 public class A 2 { 3 interface Ijiekou() //定义接口Ijiekou 4 { 5 int Num(); 6 } 7 } 8 9 public class B : Ijiekou //B类继承接口Ijiekou 10 { 11 public int a 12 { 13 public int Num() 14 { 15 return 1; 16 } 17 }
1 static void Main(string[] args) 2 { 3 Ijiekou J = new B(); //接口实例化B类 4 A.x = new A(); //实例化类 5 x.chuancan(J); //把J传进chuancan类里 6 } 7 public int chuancan(Ijiekou i) // 这里是把接口作为参数使用的 8 { 9 Console.WriteLine(i.Num) //输出B类中的a方法的返回值 10 }
1 static void Main(string[] args) 2 { 3 Ijiekou J =new B(); 4 Console.WriteLine(J.fanhui.Num); 5 } 6 public Ijiekou fanhui() //这里是把接口作为返回类型的 7 { 8 Ijiekou JJ = new B(); 9 return JJ; 10 } 11 }
标签:
原文地址:http://www.cnblogs.com/wu-tong/p/5799080.html