zoukankan      html  css  js  c++  java
  • 泛型约束

    泛型:即通过参数化类型来实现在同一份代码上操作多种数据类型。

    利用泛型也可以达到代码重用的目的。

    1.泛型类

    泛型类的定义与一般类的定义几乎一样,只是它把一些参数用泛型的类型参数来代替。

    格式:

    修饰符 class 类名<类型参数列表>

    {

    类体

    }

    2.泛型方法

    泛型方法与普通的方法区别在于使用类型参数声明方法,泛型方法也可以被重载和重写。

    例如:

    public void GetMax<T>(T t,int a)

    {

    方法体

    }

    参数的类型可以是T或其他系统的数据类型。

    3.约束

    约束是指对泛型类型参数施加限制,用于限制可以传递到该类型参数的类型种类。

    a.基类约束

    指示编译器泛型类型参数必须派生自特定基类。

    格式:修饰符 class 类名<类型参数列表> where 类型参数:基类名

    b.接口约束

    指示编译器泛型类型参数必须派生自特定接口。

    格式:修饰符 class 类名<类型参数列表> where 类型参数:接口名

    c.默认构造函数约束

    指示编译器泛型类型参数公开了默认的公共构造函数(不带任何参数的公共构造函数)。即无参构造函数是public。

    修饰符 class 类名<类型参数列表> where 类型参数 : new()

    d:引用/值类型约束

    指示翻译器泛型类型参数必须为引用类型或值类型。

    格式:修饰符 class 类名<类型参数列表> where 类型参数:struct(或class)

    其中ab都是约束了父类或父接口,传递其子类或子接口也是能满足的。

  • 相关阅读:
    测试用户网速办法
    JS 判断后端返回的对象是否为空
    优美地低于生活——读书笔记
    vue login.js登录逻辑
    vuex store index.js配置登录
    vue router的 index.js设置
    css 添加校验时的必填项前面的红色的*
    vue 的 main.js 设置
    vue.config.js配置
    vim的使用
  • 原文地址:https://www.cnblogs.com/xiaoai123/p/8195713.html
Copyright © 2011-2022 走看看