.net初学之接口初接触

1.接口  定义接口是为了统一标准,关键字interface。
   定义接口时,接口名前要加大写字母I,例如
interface Ijiekou
{
     string fangfa(); //没有方法体的方法
}
 
2. (1)接口内的方法没有方法体,没有修饰符,不实现。
    (2)接口也有传递性,不能被实例化,不能写带方法体的方法。
    (3)普通类继承接口必须实现其未实现的方法,接口继承接口可以不实现其方法,抽象类不能继承接口。
    (4)普通类可以继承多个接口。
 
3.接口与抽象类的异同

  抽象类 接口
用abstract定义 用interface定义
只能继承一个类 可以继承多个接口
非抽象派生类必须实现抽象方法 继承接口的类必须实现所有方法
需要override关键字 直接实现
可以写有方法体的方法 不能写有方法体的方法
1.都不能被实例化
2.包含未实现的方法
3.派生类必须实现未实现的方法

4.接口作为参数传递,传递的是实现接口的对象;接口作为返回类型返回,返回的也是实现接口的对象。
 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 }
 
 
原文地址:https://www.cnblogs.com/wu-tong/p/5799080.html