随笔分类 -  类型系统

摘要:Java泛型中的协变和逆变 一般我们看Java泛型好像是不支持协变或逆变的,比如前面提到的List<Object>和List<String>之间是不可变的。但当我们在Java泛型中引入通配符这个概念的时候,Java 其实是支持协变和逆变的。 看下面几行代码: 可见在Java泛型中通过extends关 阅读全文
posted @ 2018-10-09 14:39 zzfx 阅读(194) 评论(0) 推荐(0) 编辑
摘要:泛型的定义:泛型是JDK 1.5的一项新特性,它的本质是参数化类型 ParameterizedType,即带有类型参数的类型。 类型参数。 https://www.cnblogs.com/baiqiantao/p/7475696.html 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言 阅读全文
posted @ 2018-10-08 22:23 zzfx 阅读(246) 评论(0) 推荐(0) 编辑
摘要:类型系统是编程语言的基石 Type systems are generally formulated as collections of rules for checking the “con- sistency” of programs. This kind of checking exposes 阅读全文
posted @ 2018-09-26 17:39 zzfx 阅读(221) 评论(0) 推荐(0) 编辑
摘要:泛型类型是高阶类型的必经之路。 阅读全文
posted @ 2018-09-26 17:07 zzfx 阅读(177) 评论(0) 推荐(0) 编辑
摘要:具体类型:能够初始化; 抽象类型:不能直接初始化; 类型参量:泛型和高阶类型的通道; 类型约束:泛型到高阶类型的通道。 基础类型; 结构类型; 容器类型; 高阶类型; 泛型、抽象类型: 类型是否能够直接初始化。 低阶类型与高阶类型的转化。 阅读全文
posted @ 2018-09-26 16:49 zzfx 阅读(173) 评论(0) 推荐(0) 编辑
摘要:类型转化:任意类型、继承体系类型、基础类型的平级转化; 类型变化:值类型与容器类型的迭代变换。适配器模式、代理模式等。 阅读全文
posted @ 2018-09-26 16:46 zzfx 阅读(259) 评论(0) 推荐(0) 编辑
摘要:Functor,即函子,是 Haskell 中普遍存在的、最基本的类型类。你可以用以下两种方式来理解 Functor: 它代表某种容器,该容器能够将某一函数应用到其每一个元素上。 它代表某种“可计算上下文”(computational context)。 https://www.cnblogs.co 阅读全文
posted @ 2018-09-25 17:35 zzfx 阅读(209) 评论(0) 推荐(0) 编辑
摘要:能自证的任意类型即为动态类型; 扩展:能自证的继承体系类型即为动态类型(小); 阅读全文
posted @ 2018-09-21 14:31 zzfx 阅读(118) 评论(0) 推荐(0) 编辑
摘要:1、编译器只对确定类型进行检查; 2、类型转换是否能够成功有没有明确的判断;编译时or运行时; 3、任意类型不参与编译时类型检查; 任意类型不能直接参与运算,必须转化为确定的类型; 任意类型转化为确定类型是否需要显式转化。 强类型:类型检查(编译时)和转化(运行时)都有明确的状态信息; 中类型:类型 阅读全文
posted @ 2018-09-21 14:04 zzfx 阅读(242) 评论(0) 推荐(0) 编辑
摘要:动态类型:变量的实际类型信息能够在在运行时(获取)确定;编译时不做类型检查。 弱类型:变量的类型信息能够在运行时改变。 阅读全文
posted @ 2018-09-21 12:56 zzfx 阅读(151) 评论(0) 推荐(0) 编辑
摘要:Normally, in a typed language, the dispatch mechanism will be performed based on the type of the arguments (most commonly based on the type of the rec 阅读全文
posted @ 2018-09-19 12:14 zzfx 阅读(287) 评论(0) 推荐(0) 编辑
摘要:动态类型:能够使程序直到执行的时候才确定所属的类。 动态绑定:能够使程序直到执行的时候才能确定要对对象调用的实际方法。 动态类型关注运行时类型信息; 动态绑定关注调用什么方法; 动态类型是动态绑定的基础。 类型系统是多态的基础。 阅读全文
posted @ 2018-09-19 12:03 zzfx 阅读(141) 评论(0) 推荐(0) 编辑
摘要:一、类型系统: 1、完全动态类型:对象的类型未id(oc语言)等,与顶级基类对应;可以调用顶级基类的函数及使用定制手段进行实际类型的函数调用。 2、继承动态类型:对象属于继承体系的一部分,基类的类型可以表征继承体系中任一类型的对象;基类对应于上面的顶级类型; 3、静态类型:编译时已确定的类型; 二、 阅读全文
posted @ 2018-09-19 11:49 zzfx 阅读(219) 评论(0) 推荐(0) 编辑
摘要:动态类型的关键是将动态对象与实际类型信息绑定。 See also: Dynamic programming language and Interpreted language Dynamic type checking is the process of verifying the type saf 阅读全文
posted @ 2018-09-19 11:40 zzfx 阅读(158) 评论(0) 推荐(0) 编辑
摘要:面向类型编程; 面向对象编程与业务和属性相关; 面向类型编程与函数的符合相关 ; 阅读全文
posted @ 2018-07-07 21:42 zzfx 阅读(174) 评论(0) 推荐(0) 编辑
摘要:赋值:可以 实例化:不行 声明变量(参量):初级抽象类型可以,高阶类型不可以 声明类型:高阶类型只能用于声明类型,初级抽象类型即可以声明类型也可以声明变量。 操纵桥接(抽象层面的联系建立) 阅读全文
posted @ 2018-06-20 17:07 zzfx 阅读(111) 评论(0) 推荐(0) 编辑
摘要:顶级分类: Nominal type system structural systems In computer science, a nominal or nominative type system (or name-based type system) is a major class of  阅读全文
posted @ 2018-06-20 16:46 zzfx 阅读(268) 评论(0) 推荐(0) 编辑
摘要:namedClass:静态类型;与类型实现直接关联;可以用于初始化、类型检查等。 namedClass.self:@thick,脱敏(脱关)类型;动态类型;可以作为元类型的实例;可以作为类型参量进行传递; 可以用于继承体系; 使用脱敏类型进行初始化时,需要与具体类型进行绑定。 func forCla 阅读全文
posted @ 2018-06-14 12:00 zzfx 阅读(459) 评论(0) 推荐(0) 编辑
摘要:类型系统与编译器密切相关; 类型系统住在变量的生成、转化和访问。 类型系统是一种格式、结构。 阅读全文
posted @ 2018-06-14 10:42 zzfx 阅读(128) 评论(0) 推荐(0) 编辑
摘要:一、强类型语言 强类型语言是一种强制类型定义的语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了,强类型语言包括Java、.net 、Python、C++等语言。 举个例子:定义了一个整数,如果不进行强制的类型转换,则不可以将该整数转化为字符串。 二、弱类型语言 弱类型语言 阅读全文
posted @ 2018-06-13 22:37 zzfx 阅读(212) 评论(0) 推荐(0) 编辑