Está en la página 1de 4

jemplo de sobrecarga de mtodos en java (creo)

20.10.08. Por ooscarr (ooscarr)

Voy a crear una clase Java con funciones que reciben 1 o 2 parmetros y retornan el resultado de una de las operaciones: Potencia, Raz Cuadrada y Logaritmo Natural.

Operaciones.java
Marco con negrita el polimorfismo
/** * Estas funciones reciben un string con un nmero y retornan el resultado en formato numrico */ public class Operaciones { int x; int y; //Si llegan 2 variables public Operaciones(String x, String y) { this.x = Integer.valueOf(x).intValue(); this.y = Integer.valueOf(y).intValue(); } //Polimorfismo 1 variable public Operaciones(String x) { this.x = Integer.valueOf(x).intValue(); } //Raz cuadrada (SQuare RooT) double sqrt() { double resultado=0; resultado=(double)Math.sqrt(x); return(resultado); } //Logaritmo Natural double ln() { double resultado=0; resultado=(double)Math.log(x); return(resultado); } //Potencia double potencia() { double resultado=0; resultado=(double)Math.pow(x,y); return(resultado); } }

Cliente.java
Y un ejemplo de programa que haga uso de estas funciones, sera:
import java.io.*; public class Cliente{

private static BufferedReader InputStreamReader(System.in)); private static BufferedReader InputStreamReader(System.in)); private static BufferedReader InputStreamReader(System.in)); private static BufferedReader InputStreamReader(System.in));

stdin1 = new BufferedReader(new stdin2 = new BufferedReader(new stdin3 = new BufferedReader(new stdin4 = new BufferedReader(new

public static void main(String args[]) throws IOException{ Cliente a = new Cliente(); String sigue="s"; System.out.println(" \nBuenos das"); try{ while(sigue.equals("s")){ System.out.println(" \nQu desea hacer? \n"); System.out.println("1. Raz cuadrada"); System.out.println("2. Logaritmo natural"); System.out.println("3. Potencia"); System.out.println(" \n"); System.out.println("4. Salir"); System.out.print(" \n- Ingrese su opcion: "); String opc ion=stdin1.readLine(); if(opcion.equals("1")){ System.out.println("RAZ CUADRADA"); System.out.print("Raz cuadrada de: "); String valor1=stdin2.readLine(); Operaciones operar=new Operaciones(valor1); String resultado=String.valueOf(operar.sqrt()); System.out.println("= "+resultado); } else if(opcion.equals("2")){ System.out.println("LOGARITMO NATURAL"); System.out.print(" ln de: "); String valor1=stdin2.readLine(); Operaciones operar=new Operaciones(valor1); String resultado=String.valueOf(operar. ln()); System.out.println("= "+resultado); } else if(opcion.equals("3")){ System.out.println("POTENCIA"); System.out.print("Base: "); String valor1=stdin2.readLine(); System.out.print("Exponente: "); String valor2=stdin3.readLine(); Operaciones operar=new Operaciones(valor1,valor2); String resultado=String.valueOf(operar.potencia()); System.out.p rintln("= "+resultado); } else if(opcion.equals("4")){

break; } else{ System.out.println("Se equivoc."); break; } System.out.print(" \nDesea realizar otra operacin? (s/n): "); sigue = stdin4.readLine(); } } catch(Exception e){ System.err.println(e); } System.out.println("Adios."); } }

Compil i
Luego de compil los con
javac Operaciones.java javac Cliente.java

ejecut lo con
java Cliente

Result algo as
Buenos das Qu desea hacer? 1. Raz cuadrada 2. Logaritmo natural 3. Potencia

4. Salir - Ingrese su opcion: 3 POTENCIA Base: 2 Exponente: 3 = 8.0 Desea realizar otra operacin? (s/n): n Adios.

Eti uetas: codigo, sun 20.10.08.

3 comentarios (RSS

):

1. A las 22/11/08 01:46 milton inost oza aguilera ha dicho... eso no es polimorfismo, es sobrecarga de mtodos 2. A las 23/11/08 21:54 elblog ha dicho... Gracias. 3. A las 26/5/09 09:33 Annimo ha dicho... gracias pero no es lo que busco <-->

Referencias a este artculo:

Pgina principal

Publici ad

También podría gustarte