Logo Studenta

Clases y funciones

¡Estudia con miles de materiales!

Vista previa del material en texto

Clases y funciones
Las clases en Java son plantillas para la creación de objetos, en lo que se conoce como programación orientada a objetos, considerada uno de los principales paradigmas de desarrollo de software en la actualidad.
¿Qué es una función en Java?
Una función en Java, también conocida como método, es un bloque de código que realiza una tarea específica y se ejecuta cuando es llamado. Las funciones pueden recibir datos como entrada (parámetros), procesar estos datos y devolver un resultado (valor de retorno).
El uso de funciones nos permite reutilizar y organizar nuestro código de manera más eficiente, ya que podemos dividir un programa en partes más pequeñas y modulares.
En Java, las funciones se definen dentro de una clase y se utilizan para manipular el estado (atributos) y comportamiento (métodos) de los objetos de esa clase.
Sintaxis de una función en Java:
modificadorAcceso tipoRetorno nombreFuncion (tipoParametro1 nombreParametro1, tipoParametro2 nombreParametro2, ...) { 
// Cuerpo de la función 
// Procesamiento y cálculos 
return valorRetorno; 
}
· modificadorAcceso: Controla la visibilidad de la función en relación con otras clases y objetos. Puede ser public, private, protected o sin modificador (por defecto).
· tipoRetorno: Indica el tipo de dato que la función devolverá. Puede ser un tipo primitivo (int, float, etc.), una clase, una interfaz o void si la función no devuelve ningún valor.
· nombreFuncion: Es el nombre único que identifica a la función y sigue las convenciones de camelCase.
· tipoParametro y nombreParametro: Son los parámetros que recibe la función como entrada. Pueden ser de cualquier tipo de dato, y su cantidad puede variar. Si la función no recibe parámetros, se dejan los paréntesis vacíos.
· return valorRetorno;: Es la instrucción para devolver un valor desde la función. Si la función tiene un tipo de retorno void, no se utiliza la declaración return.
Ejemplo:
public class Calculadora { 
// Función que suma dos números enteros 
public int sumar(int numero1, int numero2) { 
int resultado = numero1 + numero2; 
return resultado; 
} 
}
En este ejemplo, hemos definido una función llamada sumar dentro de la clase Calculadora. Esta función toma dos parámetros enteros y devuelve la suma de ambos números como resultado.
Estructura de una función en Java
Como mencionamos anteriormente, una función en Java se compone de varios elementos. A continuación, analizaremos cada uno de ellos en detalle y proporcionaremos ejemplos.
Modificadores de acceso (public, private, protected)
Los modificadores de acceso determinan la visibilidad de una función en relación con otras clases y objetos.
· public: La función es accesible desde cualquier clase.
· private: La función solo es accesible dentro de la misma clase en la que se define.
· protected: La función es accesible dentro de la misma clase y sus subclases.
· Sin modificador (por defecto): La función es accesible dentro del mismo paquete.
Ejemplo
public class EjemploModificadores { 
public void funcionPublica() { 
// Accesible desde cualquier clase 
} 
private void funcionPrivada() { 
// Accesible solo dentro de la clase EjemploModificadores 
} protected void funcionProtegida() { 
// Accesible dentro de la clase EjemploModificadores y sus subclases 
} void funcionPorDefecto() { 
// Accesible dentro del mismo paquete 
} 
}
Tipo de retorno
El tipo de retorno indica el tipo de dato que la función devolverá. Puede ser un tipo primitivo (int, float, etc.), una clase, una interfaz o void si la función no devuelve ningún valor.
public class EjemploTiposRetorno { 
public int obtenerEntero() { 
return 42; 
} 
public String obtenerCadena() { 
return "Hola, mundo!"; 
} 
public List<String> obtenerListaCadenas() { 
return Arrays.asList("uno", "dos", "tres"); 
} 
public void funcionSinRetorno() { 
System.out.println("Esta función no devuelve ningún valor."); 
} 
}
Nombre de la función
El nombre de la función debe ser único y seguir las convenciones de camelCase. Por lo general, los nombres de las funciones comienzan con un verbo que indica qué hace la función, como calcular, obtener o mostrar.
Ejemplo:
public class EjemploNombresFunciones { 
public void calcularArea() { 
// ... 
} 
public String obtenerNombreCompleto() { 
// ... 
} 
public void mostrarInformacion() { 
// ... 
} 
}
Parámetros y argumentos
Los parámetros son variables que reciben valores de entrada cuando se llama a una función. Se especifican entre paréntesis después del nombre de la función, y se indica su tipo y nombre. Si la función no recibe parámetros, se dejan los paréntesis vacíos.
Ejemplo:
public class EjemploParametros { 
public int sumar(int a, int b) { 
return a + b; 
} 
public void saludar(String nombre) { 
System.out.println("Hola, " + nombre + "!"); 
} 
public void mostrarCoordenadas(int x, int y, int z) { System.out.println("Coordenadas: (" + x + ", " + y + ", " + z + ")"); 
} 
}
Cuerpo de la función
El cuerpo de la función es el bloque de código delimitado por llaves ({}) que contiene las instrucciones y procesamientos que se ejecutarán cuando la función sea llamada.
Dentro del cuerpo de la función, podemos realizar cálculos, manipular variables, llamar a otras funciones y controlar el flujo del programa mediante estructuras condicionales y bucles.
Ejemplo
javaCopy codepublic class EjemploCuerpoFunciones { 
public double calcularAreaCirculo(double radio) { 
double area = Math.PI * Math.pow(radio, 2); 
return area; 
} 
public void imprimirTablaMultiplicar(int numero) { 
for (int i = 1; i <= 10; i++) { 
System.out.println(numero + " x " + i + " = " + (numero * i)); 
} 
} 
public boolean esNumeroPrimo(int numero) { 
if (numero <= 1) { 
return false; 
} 
for (int i = 2; i < numero; i++) { 
if (numero % i == 0) { 
return false; 
} 
}
 return true; 
} 
}
En este ejemplo, hemos creado tres funciones con diferentes propósitos:
calcularAreaCirculo: Calcula y devuelve el área de un círculo dado su radio.
imprimirTablaMultiplicar: Imprime la tabla de multiplicar de un número entero especificado.
esNumeroPrimo: Determina si un número entero es primo y devuelve un valor booleano.
Cada función tiene un cuerpo que contiene las instrucciones necesarias para llevar a cabo la tarea específica para la que fue diseñada.
Creación de una función en Java
Crear una función en Java implica definir sus elementos básicos, como el modificador de acceso, el tipo de retorno, el nombre de la función y sus parámetros.
A continuación, se proporciona un ejemplo práctico de cómo crear una función simple en Java.
Ejemplo: Creación de una función para calcular el IMC (Índice de Masa Corporal)
public class CalculadoraIMC { 
// Función que calcula el IMC 
public double calcularIMC(double pesoKg, double alturaMetros) { 
double imc = pesoKg / Math.pow(alturaMetros, 2); 
return imc; 
} 
}
En este ejemplo, hemos creado una clase llamada CalculadoraIMC que contiene una función llamada calcularIMC.
La función toma dos parámetros, pesoKg y alturaMetros, que representan el peso en kilogramos y la altura en metros de una persona, respectivamente.
Luego, calcula el IMC utilizando la fórmula: peso / (altura al cuadrado). Finalmente, devuelve el valor del IMC como resultado.
Ahora, supongamos que queremos crear otra función en la misma clase para interpretar el resultado del IMC y proporcionar una clasificación según el valor obtenido. Podemos crear una nueva función de la siguiente manera:
public class CalculadoraIMC { // Función que calcula el IMC 
public double calcularIMC(double pesoKg, double alturaMetros) { 
double imc = pesoKg / Math.pow(alturaMetros, 2); 
return imc; } // Función que clasifica el IMC 
public String clasificarIMC(double imc) { 
if (imc < 18.5) { 
return "Bajo peso"; 
} else if (imc >= 18.5 && imc < 24.9) { 
return "Peso normal"; 
} else if (imc >= 24.9 && imc < 29.9) { 
return "Sobrepeso"; 
} else { 
return "Obesidad"; 
} 
} 
}
En este caso, hemos añadido una nueva función llamada clasificarIMC que toma como parámetro el valor del IMC y devuelve una clasificación basada en elrango en el que se encuentra el IMC.
Llamando a una función en Java
Una vez que hemos creado una función, podemos llamarla desde otras partes de nuestro código para ejecutarla y obtener el resultado que devuelve.
A continuación, se describe la sintaxis para llamar a una función y cómo pasar valores a la función.
Sintaxis para llamar a una función
Para llamar a una función, primero necesitamos crear un objeto de la clase que contiene la función (a menos que la función sea estática) y luego utilizar la notación de punto (.) seguida del nombre de la función y los argumentos entre paréntesis.
NombreClase objeto = new NombreClase(); 
objeto.nombreFuncion(argumentos);
Si la función devuelve un valor, podemos almacenarlo en una variable o utilizarlo directamente en expresiones o instrucciones.
Ejemplo:
public class Main { 
public static void main(String[] args) { 
CalculadoraIMC calculadora = new CalculadoraIMC(); 
double imc = calculadora.calcularIMC(75, 1.80); 
String clasificacion = calculadora.clasificarIMC(imc); System.out.println("IMC: " + imc); 
System.out.println("Clasificación: " + clasificacion); 
} 
}
En este ejemplo, hemos creado un objeto calculadora de la clase CalculadoraIMC y llamado a las funciones calcularIMC y clasificarIMC para obtener el IMC y la clasificación correspondiente. Luego, hemos mostrado los resultados en la consola.
Pasar valores a una función
Cuando llamamos a una función que requiere parámetros, debemos pasar los valores de los argumentos en el mismo orden que se definen en la declaración de la función.
Los argumentos pueden ser constantes, variables o expresiones que se evalúan al tipo de dato correspondiente a cada parámetro.
Ejemplo:
public class Main { 
public static void main(String[] args) { 
Calculadora calculadora = new Calculadora(); 
int resultadoSuma = calculadora.sumar(3, 5); // Pasar valores constantes System.out.println("Resultado de la suma: " + resultadoSuma); int a = 10; int b = 20; int resultadoResta = calculadora.restar(a, b); // Pasar variables 
System.out.println("Resultado de la resta: " + resultadoResta); 
double resultadoDivision = calculadora.dividir(a * 2, b + 5); // Pasar expresiones 
System.out.println("Resultado de la división: " + resultadoDivision); 
} 
}
En este ejemplo, hemos llamado a varias funciones de la clase Calculadora pasando diferentes tipos de argumentos: constantes, variables y expresiones.
Los valores de los argumentos se asignan a los parámetros de la función y se utilizan dentro del cuerpo de la función para realizar las operaciones correspondientes.
Llamando a un método de clase (estático)
Si la función es un método de clase (declarada con el modificador static), no es necesario crear un objeto para llamar a la función.
En su lugar, podemos llamar a la función utilizando la notación de punto (.) y el nombre de la clase.
Ejemplo:
public class Matematicas { // Función estática que suma dos números 
public static int sumar(int a, int b) { 
return a + b; 
} 
} 
public class Main { 
public static void main(String[] args) { // Llamar a la función estática sumar int suma = Matematicas.sumar(5, 7); 
System.out.println("La suma de 5 y 7 es: " + suma); 
} 
}
En este ejemplo, la función sumar en la clase Matematicas es un método de clase (estático). Para llamar a esta función, usamos el nombre de la clase Matematicas seguido de la notación de punto (.) y el nombre de la función.
Tipos de retorno y declaración de retorno
El tipo de retorno de una función indica qué tipo de valor devolverá la función al ser llamada. Cuando una función devuelve un valor, se utiliza la declaración return seguida del valor o expresión que se desea devolver.
A continuación, se detallan los aspectos clave de los tipos de retorno y las declaraciones de retorno en Java.
Tipos de retorno
El tipo de retorno puede ser cualquier tipo de dato en Java, incluyendo tipos primitivos (int, float, double, boolean, etc.), clases, interfaces o arreglos.
Si la función no devuelve ningún valor, se utiliza el tipo de retorno void.
Ejemplo:
public class EjemploRetornos { 
public int obtenerEntero() { 
return 42; 
} 
public String obtenerCadena() { 
return "Hola, mundo!"; 
} 
public List<String> obtenerListaCadenas() { 
return Arrays.asList("uno", "dos", "tres"); 
} 
public void funcionSinRetorno() { 
System.out.println("Esta función no devuelve ningún valor."); 
} 
}
En este ejemplo, hemos creado funciones que devuelven diferentes tipos de datos, como int, String y List<String>. También hay una función con un tipo de retorno void, lo que indica que no devuelve ningún valor.
Declaración de retorno
La declaración return se utiliza para devolver un valor desde una función. El valor o expresión que se devuelve debe coincidir con el tipo de retorno especificado en la declaración de la función.
Si una función tiene un tipo de retorno void, no es necesario utilizar la declaración return, aunque se puede usar para salir de la función antes de tiempo.
Ejemplo
public class EjemploDeclaracionesRetorno { 
public int multiplicar(int a, int b) { 
int resultado = a * b; 
return resultado; // Devolver el valor de la variable resultado 
} 
public boolean esPar(int numero) { 
return numero % 2 == 0; // Devolver el resultado de la expresión directamente 
} 
public void mostrarMensaje(String mensaje) { 
if (mensaje == null || mensaje.isEmpty()) { 
return; // Salir de la función antes de tiempo si el mensaje es nulo o vacío } 
System.out.println("Mensaje: " + mensaje); 
} 
}
En este ejemplo, hemos utilizado la declaración return de diferentes maneras. En la función multiplicar, devolvemos el valor de una variable. En la función esPar, devolvemos el resultado de una expresión directamente.
Y en la función mostrarMensaje, utilizamos return para salir de la función antes de tiempo si se cumple una condición específica.

Continuar navegando