zoukankan      html  css  js  c++  java
  • 具有关联类型的协议

    具有关联类型的协议

    具有接口类型和泛型双重属性;是接口化的高阶泛型;

    具有关联类型的协议不能作为类型,只能作为类型约束使用;

    类型的具体形态:变量的类型、函数的输入输出类型、容器元素的类型;

    带有关联类型的协议作为类型只能和泛型类型一起使用;要使用带有关联类型的协议,必须先定义泛型类型;

    在泛化为构造器类型时,作为typeclass类型使用;

    具体化的方向有三个:

    1、具体化:直接实现为具体类型;

    相对于无关联类型的协议:

    无关联类型的协议可以直接作为类型来使用;

    2、泛型化:泛化为类型构造器;

    配置了类型的类型构造器类型也可以作为类型来使用;

    3、接口化:进行类型擦除;

    类型擦除后的关联协议类型可以作为类型来使用;

    它使用的技术:泛型化类型构造器、协议具体化、代理包装器、接口隐藏器;

    使用的方向只有一个:

    要使用具有关联协议的类型特征的变量,先定义一个符合协议的泛型,用这个泛型定义变量;

    泛型类型的二阶构造:

    1、用类型指定构造类型;

    2、构造变量进行赋值;

    如果有类型推断,类型构造可以省略?

  • 相关阅读:
    小议如何使用APPLY
    SQLServer复制(二)--事务代理作业
    T-SQL—理解CTEs
    jdbc与java.sql
    java设计模式之中介者模式
    fread函数和fwrite函数
    Linux多线程编程(不限Linux)
    poj 3320 技巧/尺取法 map标记
    poj 1260 dp
    HDU 4311 前缀和
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10539100.html
Copyright © 2011-2022 走看看