La sobrecarga de métodos es tener un método con el mismo nombre que se repita varias veces, pero con las condiciones de que dicho método tenga diferentes firmas y definiciones. La firma del método es una combinación del nombre del método, número de parámetros, tipos y orden en los parámetros.
Cabe recalcar que, para que java seleccione un método sobrecargado se basa en el número y tipo de argumentos que tiene dicho método y no por su tipo de retorno (que es lo que devuelve).
import java.util.Scanner; public class SobrecargaMetodos
{ public static void main(String[] args) { int num1, num2, num3; int opcion = 0; Scanner entrada = new Scanner(System.in); System.out.printf("Ingrese 1: Cálcular el mayor de 2 números\n" +"%42s", "2: Cálcular el mayor de 3 números:"); opcion = entrada.nextInt(); if(opcion == 1) { System.out.print("Ingrese número 1: "); num1 = entrada.nextInt(); System.out.print("ingrese número 2: "); num2 = entrada.nextInt(); System.out.println("El mayor es: " + numMayor(num1, num2)); } else if(opcion == 2) { System.out.print("Ingrese número 1: "); num1 = entrada.nextInt(); System.out.print("ingrese número 2: "); num2 = entrada.nextInt(); System.out.print("ingrese número 3: "); num3 = entrada.nextInt(); System.out.println("El mayor es: " + numMayor(num1, num2, num3)); }else //Si se ingresa un número diferente System.out.println("No ha escogido ningúna opción!!!"); } /*método sobrecargado*/ public static int numMayor(int num1, int num2) { int mayor = Math.max(num1, num2); return mayor; } public static int numMayor(int num1, int num2, int num3) { int mayor = Math.max(num1, (Math.max(num2, num3))); return mayor; } }
No hay comentarios:
Publicar un comentario