类型系统的运算法则

最近看swift的范型和typeclass很辛苦,一点也摸不着头绪;

所以总结了以下类型系统的运算法则,以简化类型的转化、组合、变换等规则;

is-a has-a use-a like-a as-a extension-a assign-a like-a-default

 

基础关系:

is-a:继承、对象属于类型的说明;

has-a:组合关系;

use-a:临时变量的使用和函数参量;

as-a:类型转换;

 

基础范型关系:

generic-a:范型类型;

assign-a:为范型类型指定类型参量;

 

抽象接口:

like-a:抽象类型、接口类型与实现关系;

defalut-a:

like-a-defalut:为抽象类实现缺省功能,在swfit语言中有这种功能;

 

typeclass:

moand-a:like-a与generic-a的合体;函数式编程和随意多态中用到;

 

给类型添加功能:

extension-a:在类型上添加功能;

 

目的是在理清类型关系的时候能够有法则和依据。

 

范型是has-a\use-a的类型游戏;

 

typeClass是is-a + has-a的游戏

is a has a like a user a

 

is-a has-a use-a like-a as-a extension-a assign-a like-a-default

上一篇:NS-3 和Aqua-sim-ng 学习笔记(一)


下一篇:页面下载多个文件创建临时压缩包调用浏览器自带弹窗下载