sábado, 3 de marzo de 2018

Programación Orientada a Objetos en JAVA parte 2

PARÁMETROS y ARGUMENTOS

Que son Parámetros: Es una declaracion de variables u objetos, es en donde va en los metodos un ejemplo:

public class ejemplo{
     public void metodo1(int n1, int n2){
     
     }
}

Creamos el metodo y dentro del parentesis van los parametros.


Que son Argumentos: Es un valor que se envia, pertenece a los metodos, ejemplo: creo el objeto "miAuto", con un método "acelerar()", si yo quiero acelerar, escribir en código: miAuto.acelerar(); pero la pregunta es: ¿Cuando Acelero? , no se cuanto pero para eso tenemos que enviarlo como ARGUMENTO cuanto debo acelerar, una demostracion de ARGUMENTOS:

public class Saludo{
    public void saludo(String saludar){
        System.out.println(saludar);
    }
    public static void main (String[] args){
        Saludo sa = new Saludo();
        String sal = "hola";
        sa.saludo("Mi saludo es: "+sal);
    }
}

Creamos un método con un parámetro de tipo String saludar, dentro de el mostraremos la variable saludar, pero que debo mostrar? ; en el metodo main es lo que mostraremos el saludo, creamos el objeto, una variable de tipo String sal = "hola" y por ultimo llamamos al metodo y enviarle el valor "sal". Al imprimirlo nos imprimirá:
"Mi saludo es : hola"


Haremos un ejemplo de sumar, restar, multiplicar y dividir 2 numeros:

package Clase;

public class Operacion {
    //Atributos
    int suma;
    int resta;
    int multiplicacion;
    int division;
    
    //Metodos
    
    
    //Metodo para sumar ambos numeros
    public void sumar(int num1, int num2){
        suma = num1 + num2;
    }
    
    //Metodo para restar ambos numeros
    public void restar(int num1, int num2){
        resta = num1 - num2;
    }
    
    //Metodo para multiplicar ambos numeros
    public void multiplicar(int num1, int num2){
        multiplicacion = num1 * num2;
    }
    
    //Metodo para dividir ambos numeros
    public void dividir(int num1, int num2){
        division = num1 / num2;
    }
    
    //Mostrar Resultado
    public void MostrarResultado(){
        System.out.println("La suma es: "+suma);
        System.out.println("La resta es: "+resta);
        System.out.println("La multiplicacion es: "+multiplicacion);
        System.out.println("La division es: "+division);
    }
}


Ahora si queremos crear una clase mas, podemos hacerlo o sino en la misma clase crear el metodo main.

package Clase;
import javax.swing.JOptionPane;

public class main {
    public static void main (String[] args){
        
    int n1 = Integer.parseInt(JOptionPane.showInputDialog
     ("Ingrese un numero"));
        
    int n2 = Integer.parseInt(JOptionPane.showInputDialog
    ("Ingrese un numero"));
        
        Operacion  ope = new Operacion();
        
        ope.sumar(n1, n2);
        ope.restar(n1, n2);
        ope.multiplicar(n1, n2);
        ope.dividir(n1, n2);
        ope.MostrarResultado();
    }
}


Al ejecutar el programa ingresaremos el 3 y 4 :




RETORNO DE VALORES

Comparemos estos 2 metodos:

M1:
   int suma;
public void sumar(int n1, int n2){
    suma = n1+n2;
}


M2:
  int suma;
public int sumar(int n1, int n2){
    suma = n1+n2;
    return suma;
}

Cual es la diferencia?
En el M2 ahora hemos public int en vez del void recordemos en las primeras sesiones de JAVA el void no retornaba nada, pero con el public int es necesario escribir la palabra "return" para que nos retorne un valor. Hacemos un ejemplo con un String (el ejemplo de saludar)

public class Saludo{
    public int saludo(String saludar){
        String saludando = "hola";
        return saludando;
    }
    public static void main (String[] args){
        Saludo sa = new Saludo();
        String sal = null;
        System.out.println("Mi saludo es: "+sa.saludo(sal));
    }
}

Es parecido a lo que hicimos del ejemplo de "argumentos" solo que cambiamos el void por el String y retornando la variable saludando. Al ejecutar nos imprime: "Mi saludo es: Hola"


Hacemos el mismo ejemplo de mostrar suma, resta multiplicacion y division de 2 numeros:


package Clase;

public class Operacion {
    //Atributos
    
    //Metodos
    
    
    //Metodo para sumar ambos numeros
    public int sumar(int num1, int num2){
        int suma = num1 + num2;
        return suma;
    }
    
    //Metodo para restar ambos numeros
    public int restar(int num1, int num2){
        int resta = num1 - num2;
        return resta;
    }
    
    //Metodo para multiplicar ambos numeros
    public int multiplicar(int num1, int num2){
        int multiplicacion = num1 * num2;
        return multiplicacion;
    }
    
    //Metodo para dividir ambos numeros
    public int dividir(int num1, int num2){
        int division = num1 / num2;
        return division;
    }
    
    //Mostrar REsultado
    public void MostrarResultado(int suma,int resta,int mul, int div){
        System.out.println("La suma es: "+suma);
        System.out.println("La resta es: "+resta);
        System.out.println("La multiplicacion es: "+mul);
        System.out.println("La division es: "+div);
    }
}

 Creamos una clase:

package Clase;
import javax.swing.JOptionPane;

public class main {
    public static void main (String[] args){
        
int n1 = Integer.parseInt(JOptionPane.showInputDialog
              ("Ingrese un numero"));
        
int n2 = Integer.parseInt(JOptionPane.showInputDialog
             ("Ingrese un numero"));
        
        Operacion  ope = new Operacion();
        
        int suma = ope.sumar(n1, n2);
        int resta = ope.restar(n1, n2);
        int mult = ope.multiplicar(n1, n2);
        int divi = ope.dividir(n1, n2);
        ope.MostrarResultado(suma, resta, mult, divi);
    }
}


Es parecido cierto? pues hay algunas diferencias, como se ha mencionado  el void no retorna nada y con el int retorna un valor de tipo int, hemos eliminado los atributos de suma, resta multiplicacion y division y creamos en cada metodo con tipo int como se ve en cada metodo public int, al hacer eso el metodo mostrar resultados nos marcaria un error en las variables (suma, resta multiplicacion y division) por que no son globales y para solucionarlo debemos ponerlo parámetros como se ve el metodo MostrarResultado(); y en el metodo main es lo mismo que el anterior ejercicio de suma que hicimos antes, solo que ahora en MostrarResultado debemos enviarle los argumentos y listo a ejecutar

Compartir:

PAG WEB de Farmacia con HTML5 y CSS

Interfaz Principal de la Página Tamaño de Escritorio: Tamaño de Tablet: Tamaño de Celular Movil: Armado de l...