一、函数与类型:
类型强调数据的组织;
函数强调数据的访问;
二、函数与数据
函数能访问一个数据类型就定义为函数与类型进行了绑定;
函数作为类型与类型间的桥梁;或者从一个类型直接输出到另一个类型;
或者集合几个输入类型输出到另一个类型;
三、函数的类型
函数是一种复合类型;
调用约定是它的元类型;
函数签名(函数声明)是它的抽象类型;
函数定义是它的具体类型(指定了函数地址);
函数的调用构建是它的实例变量;
函数作为一种类型,
它的元类型是调用约定;调用约定定义了它的访问方式;
它的抽象类型是函数的声明:函数的声明是数据类型与操作在形式上的绑定;
它的具体类型是:函数的地址和函数签名;约定了哪些类型作为输入和输出(包含哪些数据类型);
它的静态实例是符合类型的配置构建:即对函数进行输入输出参量的配置;只有配置的类型符合函数类型的约束,才能访问函数;
它的动态实例是:函数调用栈;
函数作为一个结构体的定义
{
函数名称
函数地址;
输入参量;
输出参量;
}
函数签名包含了一个函数的信息,包括函数名、它的参数类型、它所在的类和名称空间及其他信息。函数签名用于识别不同的函数,就像签名用于识别不同的人一样,函数的名字只是函数签名的一部分
https://www.cnblogs.com/feng9exe/p/6400597.html
函数与类型的绑定方式有两种:
1、基于类型的操作绑定:类型具有操作的访问权,类型本身作为环境变量与函数进行了绑定;
2、分离绑定:类型只代表数据不包含操作,类型与函数的绑定通过构建函数类型来实现;类型作为函数的输入输出参量,从而实现绑定。
每一次函数调用,都暗含函数的实例化;都实现了使用数据类型对函数类型的初始化构建;然后进行的调用;