类型特征

计算机科学中,类型签名英語:)或类型注解()是对程序的函数、方法、子过程、以及变量等给出其类型。特别是对函数给出其输入参数数量、类型与次序及输出结果的类型。 许多编译器产生的内部使用的函数名包含了其类型特征,这称为名字修饰,给链接器辨别不同的函数提供了方便。[1]

类型特征的现代应用:

  • 面向对象语言使用的interface,实际上是利用了函数类型特征的模板。
  • C++支持的函数重载实际上用不同的类型特征来辨识。
  • 多继承要求考虑函数特征,以避免不可预计的结果。

C/C++

CC++ 中, 类型签名通常被声明为函数原型,函数声明也反映了其用法。例如,函数指针使用方法如下:

char c;
double d;
int retVal = (*fPtr)(c, d);

它的签名为:

(int) (char, double);

Java

在Java中,方法签名(英語:)由方法的名字(method's name)与参数类型(parameter types)组成。[2] 如下例:

public double calculateAnswer(double wingSpan, int numberOfEngines,
                              double length, double grossTons) {
    //do the calculation here
}

该例的方法签名为:calculateAnswer(double, int, double, double)

参考文献

  1. . [3 December 2013].
  2. . docs.oracle.com. [2020-05-19].
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.