En programación informática , el tipo de retorno (o tipo de resultado ) define y restringe el tipo de datos del valor devuelto por una subrutina o método . [1] En muchos lenguajes de programación (especialmente lenguajes de programación de tipos estáticos como C , C++ , Java ), el tipo de retorno debe especificarse explícitamente al declarar una función.
En el ejemplo de Java:
público void setShuma ( int n1 , int n2 ) { Shuma = n1 + n2 } público int getShuma () { devolver Shuma ; }
El tipo de retorno es int . Por lo tanto, el programa puede confiar en que el método devuelva un valor de tipo int . Se utilizan varios mecanismos para el caso en el que una subrutina no devuelve ningún valor, por ejemplo, en algunos lenguajes de programación se utiliza un tipo de retorno void :
public void devuelve nada ()
Un método regresa al código que lo invocó cuando completa todas las instrucciones del método, llega a una instrucción de retorno o lanza una excepción, lo que ocurra primero.
El tipo de retorno de un método se declara en la declaración del método. Dentro del cuerpo del método, se utiliza la declaración de retorno para devolver el valor.
Cualquier método declarado como void no devuelve un valor. No necesita contener una declaración de retorno, pero puede hacerlo. En tal caso, se puede utilizar una declaración de retorno para salir de un bloque de flujo de control y salir del método, y se utiliza simplemente de la siguiente manera:
devolver ;
Si intenta devolver un valor de un método que se declara vacío, obtendrá un error del compilador.
Cualquier método que no se declare vacío debe contener una declaración de retorno con un valor de retorno correspondiente, como este:
retorna valorDeRetorno ;
El tipo de datos del valor de retorno debe coincidir con el tipo de retorno declarado del método; no se puede devolver un valor entero desde un método declarado para devolver un valor booleano.
El método getArea() de la clase Rectangle Rectangle que se analizó en las secciones sobre objetos devuelve un número entero:
// Un método para calcular el área del rectángulo public int getArea () { return width * height ; }
Este método devuelve el entero al que width * height
se evalúa la expresión.
El método getArea devuelve un tipo primitivo. Un método también puede devolver un tipo de referencia . Por ejemplo, en un programa para manipular objetos Bicycle, podríamos tener un método como este:
public Bicycle seeWhosFastest ( Bicycle myBike , Bicycle yourBike , Environment env ) { Bicycle lowest ; // Código para calcular qué bicicleta es más rápida, dada la marcha y cadencia de cada bicicleta y dado el entorno (terreno y viento) return lowest ; }