top of page

Argumentos de Linea

     Bienvenidos a esta nueva clase del curso de programación en Java con netbeans, y lo que haremos ahora es profundizar un poco en las peculiaridades de el uso de parametros en métodos, hasta donde nosotros ya sabemos en java cuando nosotros llamamos a un método casi siempre implementamos argumentos para llamarlos, que se convierten directamente a variables locales que podemos utilizar dentro del método, pero no tan solo podemos incluir variables, si no tambien podemos incluir objetos y lo que nosotros lo que hahora tenemos que saber es que cada vez que se pasa como argumento un objeto, ese objeto se pasa directamente por referencia que ya deberiamos saber lo que es, sin embargo, cuando nosotros pasamos una variable primaria (int, float, double...) se pasan por valor, por lo tanto el original no se modifica, como objeto hay que tener en cuenta que los arrays tambien son considerados objetos, vamos a verlo en un ejemplo.

 

class Convertidor {
    void aMayusculas (String [ ] texto) {


        for (int i = 0; i < texto.length; i++) {


            texto[i] = texto[i].toUpperCase();


        }
    }


    public static void main (String [ ] args) {


        Convertidor convertidor = new Convertidor();
        convertidor.aMayusculas(args);


        for (int i = 0; i < args.length; i++) {
            System.out.print(args[i] + " ");


        }
    }
}

 

run:
DIEGO CELDRAN MORELL GENERACIÓN CORRECTA (total time: 0 seconds)

 

 

Este código para alguno de vosotros puede ser quizás un poco incomodo de entender, por lo tanto explicaré que es lo que hace, primero estamos creando una clase llamada Convertidor, y dentro hemos creado un método llamado aMayusculas ya que eso es lo que hace y le pasamos como parametros un array de Strings de nombre texto y luego lo llamamos desde el método main y lo hacemos creando un objeto de nombre convertidor de la clase Convertidor y como argumento le pasamos args, que es un array de Strings, y ya solo hacemos un loop for para imprimir en pantalla cada uno de los arrays. Ahora lo que haremos es profundizar un poco mas en el método main, el método main está formado por:

 

Public:Significa que este método esta disponible para su uso en otras clases y métodos.

Static: Significa que el método main es un método de clase.

Void: Significa que el método main no devuelve ningun valor.

main (String [ ] args): Significa que toma como parametro un array de tipo String de en este caso de nombre args.

{ //cuerpo del método }: todo lo necesario para ejecutar la aplicación.

 

 

Vamos a ver ahora como crear métodos con el mismo nombre pero con distintos argumentos, estos son los denominados métodos sobrecargados, esto java lo puede hacer teniendo en cuenta dos cosas el número de argumentos que se le pase y el tipo de variable o en las dos cosas, el tipo de retorno no es considerado en java como una diferencia entre métodos. Veamoslo en un ejemplo práctico.

 

import java.awt.Point;

    class Caja {
        int x1;
        int x2;
        int y1;
        int y2;
        
        Caja construirCaja (int x1, int x2, int y1, int y2){
            this.x1 = x1;
            this.x2 = x2;
            this.y1 = y1;
            this.y2 = y2;
            return this;
        }
        Caja construirCaja (Point supIzq, Point infDer){
            x1 = supIzq.x;
            x2 = supIzq.y;
            y1 = infDer.x;
            y2 = infDer.y;
            return this;
        }
        Caja construirCaja (Point supIzq, int an, int al){
            x1 = supIzq.x;
            x2 = supIzq.y;
            y1 = (x1 + an);
            y2 = (y1 + al);
            return this;
        }
        void imprimirCaja() {
            System. out. print( "Caja: < " + x1 + " , " + y1 );
            System. out. println( ", " + x2 + " , " + y2 + " >" );
        }
        public static void main (String [ ] args) {
            Caja reat = new Caja();
            
            System.out.println("Llamando a construirCaja con coordenadas: "
                    + "(25, 25) and (50, 50): ");
            reat.construirCaja(25, 25, 50, 50);
            reat.imprimirCaja();
            
            System.out.println("\nLlamando a construirCaja con coordenadas: "
                    + "(10, 10) and (20, 20): ");
            reat.construirCaja(new Point(10, 10), new Point (20, 20));
            reat.imprimirCaja();
            
            System.out.println("\nLlamando a construirCaja con coordenadas: "
                    + "(10, 10) ancho 50 and alto 50: ");
            reat.construirCaja(new Point(10, 10), 50, 50);
            reat.imprimirCaja();
        }
    }

 

run:

 

Llamando a construirCaja con coordenadas: (25, 25) and (50, 50):
Caja: < 25 , 50, 25 , 50 >

 

Llamando a construirCaja con coordenadas: (10, 10) and (20, 20):
Caja: < 10 , 20, 10 , 20 >

 

Llamando a construirCaja con coordenadas: (10, 10) ancho 50 and alto 50:
Caja: < 10 , 60, 10 , 110 >


GENERACIÓN CORRECTA (total time: 0 seconds)


Y como siempre digo ahora lo que teneis que hacer es revisar vosotros msimo todo este código para ver el funcionamiento que tiene y como funciona este programa, que se supone que ya tendrias que saber como funciona, nos vemos, en la próxima clase de programación en java.

bottom of page