跳转到内容

返回型别

维基百科,自由的百科全书

返回型别(return type)也称为返回类型,是程序设计里的词语,会定义子程序或是方法在结束时所送出资料的资料类型[1]。在许多编程语言里(特别是像C语言C++Java等静态类型系统的语言),在宣告函式时需要明确指定其返回型别。

以下是Java的例子:

public void setShuma(int n1, int n2) {
    Shuma = n1 + n2
}

public int getShuma() {
    return Shuma;
}

返回型别为int,因此程式可以依此方式送出一个int型别的值给呼叫它的程式。若函式没有回传值,有许多不同的标示方式,例如在许多编程语言中,会将回传型别设定为{{mono|void}:

public void returnNothing()

从函式中回传值

[编辑]

一个函式在结束其所有的指令,执行到return指令,或是出现例外时,都会结束函式,回到呼叫它的程式执行执行。

在函式宣告时,可以指定函式的回传型别。在函式中回传值的方式依编程语言而不同,像Java语言可以用return指令来回传值。

若函式宣告为void,就没有回传值,可以不用加上return指令,但有时也会使用。例如可以用return快速的从流程控制的方块中离开,回到上一层程式。

return;

若针对函式宣告为void,return指令中又加上回传值,编译器会出现错误。

若没有宣告为void的函式,需要有加上传回值的return指令,如下:

return returnValue;

而传回值的型别需要和函式中宣告的一致,例如函式宣告回传boolean型态,就不能传回integer型态。

例如在Rectangle类别中的getArea()方法,可以回传一个整数: syntaxhighlight lang="java">

   // A method for computing the area of the rectangle
   public int getArea() {
       return width * height;
   }

</syntaxhighlight> 所回传的整数是由width * height计算而得的结果。

方法也可以回传引用类型,例如在处理自行车物件的程式中,可能会有一个以下的方法:

    public Bicycle seeWhosFastest(Bicycle myBike, Bicycle yourBike,
                                  Environment env) {
        Bicycle fastest;
        // Code to calculate which bike is 
        // faster, given each bike's gear 
        // and cadence and given the 
        // environment (terrain and wind)
        return fastest;
    }

参考资料

[编辑]