码迷,mamicode.com
首页 > Web开发 > 详细

.net初学之接口初接触

时间:2016-08-23 14:58:58      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

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 }
 
 

.net初学之接口初接触

标签:

原文地址:http://www.cnblogs.com/wu-tong/p/5799080.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!