Universidad Técnica De Ambato
Ingeniería en sistemas computacionales e
Informáticos
Nombre: Jonathan Alexander Zurita.
Tema: Metodos y Funciones Paralelo: “B”
Curso: primero
MÉTODOS PROCEDIMIENTO (VOID) Y FUNCIÓN (RETURN)
Volvamos sobre los objetos taxicreados y que deben aparecer en el banco de objetos en la parte inferior izquierda de la pantalla del entorno de desarrollo. Si pulsamos con botón derecho del ratón sobre ellos se nos despliegan los métodos (operaciones) disponibles para cada objeto.
Pulsa sobre el taxi1 y elige la opción String getDistrito.
La ejecución de un método se denomina habitualmente “invocación” del método o“llamada” al método. Los métodos disponibles los define la clase, pero se invocan sobre cada objeto en particular. Al invocar el método getDistrito() se nos abre una ventana de BlueJ denominada Method Result donde nos indica: returned String “Desconocido”. Le hemos pedido al objeto que nos diga cuál es su distrito y nos devuelve “Desconocido”. La razón para ello es que en el constructor de la claseincluimos una línea de inicialización de distrito para todo objeto de tipo Taxi con el valor “Desconocido”. Si en vez de ese valor hubiésemos establecido otro, ese sería el que ahora obtendríamos.
Cierra esa ventana y repite el proceso eligiendo ahora la opción void setDistrito (String valorDistrito). En el recuadro donde solicita el distrito escribe “Oeste”. No olvides incluir las comillas obligadaspor tratarse de un String. Seguidamente, vuelve a invocar el método getDistrito y comprueba el resultado obtenido.
Los métodos que hemos definido en la clase Taxi podemos clasificarlos de la siguiente manera:
a) Métodos tipo función: son métodos que nos devuelven algo. Un método es tipo función si comienza con un tipo (no consideramos ahora la palabra clave public). Por ejemplo StringgetDistrito() comienza con el tipo String lo que significa que nos devuelve una cadena de caracteres, mientras que int getTipoMotor() comienza con el tipo int lo que significa que nos devuelve un entero. Tener en cuenta que un método tipo función devuelve solo un dato u objeto como resultado, no varios. La devolución del resultado se expresa con la palabra clave return seguida del dato u objeto adevolver, por ejemplo return tipoMotor;. La sentencia return implica que termina la ejecución del código en el método y estará típicamente en la línea final. De existir una línea por detrás de una sentencia return, nunca llegaría a ejecutarse (tendremos que matizar esto porque el uso de condicionales nos permitirá tener más de un return en un método). De forma genérica:
/* Ejemplo -aprenderaprogramar.com */
//Comentario descriptivo de qué hace el método
public tipoValorDevuelto nombreDelMétodo (tipo parámetro1, tipo parámetro2…) {
Código del método
return ResultadoQueDevuelveElMétodo;
}
b) Métodos tipo procedimiento: son métodos que realizan ciertas operaciones sin devolver un valor u objeto concreto. Un método es tipo procedimiento si comienza con la palabra clave void (quetraducido del inglés viene siendo “vacío” o “nulo”). En estos casos podemos decir que el tipo de retorno es void. De forma genérica:
/* Ejemplo - aprenderaprogramar.com */
//Comentario descriptivo de qué hace el método
public void nombreDelMétodo (tipo parámetro1, tipo parámetro2…) {
Código del método
}
En general un método con tipo de retorno void no llevará sentencia return, aunque enJava se permite que un método de este tipo incluya la sentencia return;. Si ocurre esto, la sentencia da lugar a que el método finalice en ese punto sin ejecutar ninguna línea más de código. Solo tiene sentido su uso asociado a que se cumplan ciertas condiciones.
¿Puede un método ser al mismo tiempo función y procedimiento? Formalmente debemos evitarlo. Podríamos tratar de agrupar operaciones,...
Regístrate para leer el documento completo.