Instanciar

   De forma sencilla instanciar es crear un objeto a partir de una clase, la principal característica de Java es esta, y muchos programadores no la aprovechan, sino que crean código muy largo y extenso en una misma clase, cuando lo ideal es cargar el código necesario desde otra clases y así optimizar la carga y ejecución del programa.

   Por ejemplo, si en mi código tengo los métodos "suma" y "resta", y quiero restar, entonces tengo que recorrerme por el código de suma también, tengo que compilar la ejecución de ambos métodos para poder correr el programa, cuando simplemente puedo colocar un menú y cargar los métodos SOLO y unicamente cuando los necesite.

   Para explicar esto mejor hagamos lo siguiente, coloquemos el siguiente código en la carpeta principal, puede ser cualquiera.

import java.io.*;
import javax.swing.*;
import Figuras.*;

public class Principal
{
public static void main (String args[]) throws IOException
{
try
{                   
int op = Integer.parseInt(JOptionPane.showInputDialog(null, "Selecciones que desea hacer"+"n"+
"n   1. Calcular el area de un circulo"+
"n   2. Calcular el area de una corona"+
"n   3. Salir", JOptionPane.QUESTION_MESSAGE));        
switch (op)
{
case 1: circulo();break;
case 2: corona();break;
case 3: JOptionPane.showMessageDialog(null,"ADIOS!!!");System.exit(0);break;
default: JOptionPane.showMessageDialog(null,"Opcion no válida");main(null);
}
}

catch (IOException exp)
{
JOptionPane.showMessageDialog(null,"Error"+"nPosible causa:"+"n"+"tMal Ingreso de datos");
main(null);
}
}

public static void circulo() throws IOException
{        
double R= Double.parseDouble(JOptionPane.showInputDialog("Ingrese el radio"));
Circulo circulo = new Circulo (R);
JOptionPane.showMessageDialog (null, "El radio es: "+
circulo.RADIO+"nEl area del circulo es: "+circulo.areaCirculo(), "Resultado de Calculos", JOptionPane.INFORMATION_MESSAGE);
main(null);
}

public static void corona() throws IOException
{        
double R= Double.parseDouble(JOptionPane.showInputDialog("Ingrese el radio 1"));
double r= Double.parseDouble(JOptionPane.showInputDialog("Ingrese el radio 2"));
Corona corona = new Corona (R,r);
JOptionPane.showMessageDialog (null, "El radio 1 es: "
+corona.RADIO1+"nEl radio 2 es: "+
corona.RADIO2+"nEl area de la corona es: "+
corona.areaCorona(), "Resultado de Calculos", JOptionPane.INFORMATION_MESSAGE);
main(null);
}    
}

   Luego creamos una carpeta llamada "Figuras", en la cual crearemos los métodos que serán cargados por el principal, uno se llamara "Circulo" y el otro "Corona".

package Figuras;

public class Circulo
{
public double RADIO;

public Circulo (double R)
{
RADIO=R;
}
public double areaCirculo()
{
return Math.PI*Math.pow(RADIO,2.0);
}
}

package Figuras;

public class Corona
{
public double RADIO1;
public double RADIO2;

public Corona (double R, double r)
{
RADIO1=R;
RADIO2=r;
}
public double areaCorona()
{
return Math.PI*(Math.pow(RADIO1,2.0)-Math.pow(RADIO2,2.0));
}
}

   Si nos fijamos el programa corre igual que otros por ser pequeño, pero si tuviéramos mas de 20 métodos es 100% seguro que la diferencia de carga es muy notable, y aparte de obtener un código optimizado ganamos organización, no hay nada como tener un programa donde todo este debidamente ordenado, clasificado y corra de forma rápida y estable. Aunque esto es solo un ejemplo para mostrar como funciona, este código podría optimizase aun más.



1 Comentarios:

Escribir Comentario
Anónimo
AUTOR
27 de septiembre de 2010, 1:56 delete

Millón gracias, buen tutorial!!!

Responder
avatar

Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión