zoukankan      html  css  js  c++  java
  • .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 }
     
     
  • 相关阅读:
    HTML编码规范(转)
    ASP.NET连接MySQL数据库方法(测试可行)
    Redis源码解析05: 压缩列表
    Redis源码解析04: 跳跃表
    Redis源码解析03: 字典的遍历
    Redis源码解析02: 字典
    Redis源码解析01: 简单动态字符串SDS
    小象垃圾分类小程序从开始到结束
    spring boot踩坑记
    spring boot打包问题
  • 原文地址:https://www.cnblogs.com/wu-tong/p/5799080.html
Copyright © 2011-2022 走看看