viernes, 25 de noviembre de 2011

Excepciones en Java


Las excepciones son errores que no tienen que ver con la sintaxis, es decir escribir bien nuestro programa, si no tiene que ver con la lógica y los factores externos que nuestra aplicación pueda verificar hasta que el programa se ejecuta, por ejemplo que un archivo no se encuentre, que el nombre de un campo en una base de datos no sea escrito de forma correcto, son situaciones que no puede verificar el compilador, por lo que en tiempo ejecución se produce el error, a eso le llamamos excepciones. En Java las excepciones son de dos tipos las comprobadas y no no comprobadas, hay excepciones las cuales java te obliga a revisar las excepciones con bloques de try-catch o simplemente lanzando la excepción hacia el lugar donde fue invocado, esto se le conoce como comprobadas, las no comprobadas son aquellas donde java, le pone la culpa a nosotros es decir a los programadores por ejemplo una división entre 0, un acceso a arreglo en una posición que no existe, esos a java no le importan por lo que puedes lanzarlos o simplemente no hacer nada, el compilador confía en nuestra lógica.

El manejo de excepciones en Java sigue una estructura como esta:

try {
   //Codigo donde puede ocurrir un error
} 
catch (ExcepcionA ex) { // Que se va a hacer en caso que 
   se lanze una Excepcion A }
...
catch (ExcepcionZ ex) { // Que se va a hacer en caso que 
   se lanze una Excepcion Z }
 
Algunas de las excepciones más usadas en Java:
 
java.lang. ArithmeticException
java.lang. ArrayIndexOutOfBoundsException
java.lang. ArrayStoreException
java.lang. ClassCastException
java.lang. ClassNotFoundException
java.lang. CloneNotSupportedException
java.lang. EnumConstantNotPresentException
java.lang. Exception
java.lang. ExceptionInInitializerError
java.lang. IllegalAccessException
java.lang. IllegalArgumentException
java.lang. IllegalMonitorStateException
java.lang. IllegalStateException
java.lang. IllegalThreadStateException
java.lang. IndexOutOfBoundsException
java.lang. InstantiationException
java.lang. InterruptedException
java.lang. NegativeArraySizeException
java.lang. NoSuchFieldException
java.lang. NoSuchMethodException
java.lang. NullPointerException
java.lang. NumberFormatException
java.lang. RuntimeException
java.lang. SecurityException
java.lang. StringIndexOutOfBoundsException
java.lang. TypeNotPresentException
java.lang. UnsupportedOperationException

Ejemplo de polimorfismo en Java

Polimorfismo (poli-múltiple morfismo-formas)

Significa que un mismo objeto puede tomas varias formas.

El polimorfismo es un concepto de la programación orientada a objetos que nos permite programar en forma general, en lugar de hacerlo en forma específica. En general nos sirve para programar objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de clases, como si todas fueran objetos de la superclase. Esto nos simplifica la programación.



Ejemplo:

import java.util.*;

class Instrumento {
    public void tocar() {
 System.out.println("Instrumento.tocar()");
    }
    public String tipo() {
 return "Instrumento";
    }
    public void afinar() {}
}

class Guitarra extends Instrumento {
    public void tocar() {
 System.out.println("Guitarra.tocar()");
    }
    public String tipo() { return "Guitarra"; }
    public void afinar() {}
}

class Piano extends Instrumento {
    public void tocar() {
 System.out.println("Piano.tocar()");
    }
    public String tipo() { return "Piano"; }
    public void afinar() {}
}

class Saxofon extends Instrumento {
    public void tocar() {
 System.out.println("Saxofon.tocar()");
    }
    public String tipo() { return "Saxofon"; }
    public void afinar() {}
}

// Un tipo de Guitarra 
class Guzla extends Guitarra {
       public void tocar() {
         System.out.println("Guzla.tocar()");
       }
       public void afinar() {
         System.out.println("Guzla.afinar()");
       }
     }

// Un tipo de Guitarra 
class Ukelele extends Guitarra {
    public void tocar() {
 System.out.println("Ukelele.tocar()");
    }
    public String tipo() { return "Ukelele"; }
}

public class Musica {

    // No importa el tipo de Instrumento,
    // seguirá funcionando debido a Polimorfismo:
    static void afinar(Instrumento i) {
 // ...
 i.tocar();
    }

    static void afinarTodo(Instrumento[] e) {
 
 for(int i = 0; i < e.length; i++)
     afinar(e[i]);
    }


    public static void main(String[] args) {
 Instrumento[] orquesta = new Instrumento[5];
 int i = 0;
 // Up-casting al asignarse el Arreglo
 orquesta[i++] = new Guitarra();
 orquesta[i++] = new Piano();
 orquesta[i++] = new Saxofon();
 orquesta[i++] = new Guzla();
 orquesta[i++] = new Ukelele();
 afinarTodo(orquesta);
    }
}

Primer Clase y Objeto Visual en Java

jueves, 24 de noviembre de 2011

Historia de Miradores del Mar, E. Zapata, Veracruz


Desde la conquista, el llamado “Camino Real” que iba del Puerto de Veracruz a la Ciudad de México, atravesaba este pueblo e incluso existía un mesón para el cambio de diligencias, fue así que viajeros y soldados españoles advirtieron que se podía apreciar el mar desde este sitio, por tal motivo y debido a la popularidad que generó esta característica del lugar, después de la Independencia de México, durante la segunda y tercera década del siglo XIX fue elegido por las fuerzas federales para instalar miradores y vigilar así  el arribo de navíos españoles al puerto de Veracruz ya que desde este punto geográfico es posible distinguir el Golfo de México a simple vista.

lunes, 21 de noviembre de 2011

Tener Android Honeycomb en tu netbook ya es posible

Si quieres disfrutar del mismo Android que está en los tablets más actuales en tu netbook, portátil o sobremesa puedes hacerlo instalándolo, o de manera totalmente portable con un pendrive o una tarjeta SD.

Pues sí, no ha pasado ni una semana desde que Android Ice Cream Sandwich salió públicamente y mientras la posibilidad de que esa nueva versión se pueda usar en todo tipo de dispositivos, gracias a la ardua labor de los desarrolladores de Android-x86 ya puedes usar Android Honeycomb 3.2 en procesadores x86 de Intel.

Leer más...

El regalo más deseado por los niños en esta navidad

Ni Gormitis, ni Barbies, ni Beyblades. El regalo más deseado por los niños estas Navidades es el iPad 2 de Apple. Eso es lo que se desprende del habitual estudio navideño de Nielsen, en el que un 44% de los niños encuestados, con edades comprendidas entre los 6 y los 11 años, afirmaron que tienen pensado pedir a los Reyes Magos y/o a Papá Noel que les deje un tablet de Apple bajo el árbol.

No solo eso: el segundo y tercer puesto en el top de los productos electrónicos más deseados también están copados por la marca de la manzana, con su iPod Touch (30%) y su iPhone 4S (27%), por encima incluso de consolas portátiles como Nintendo 3DS (25%) y consolas de sobremesa como Xbox 360 con Kinect (23%).

Material que emite luz durante 2 semanas tras exponerlo al sol 1 minuto

Eso es lo que promete el material que han desarrollado un grupo de investigadores de la Universidad de Georgia (USA). Las aplicaciones serían múltiples (en el campo militar, de la seguridad, de la medicina…) y la base sería una especie de “laberinto de trampas para la energía” compuesto por iones de cromo y galogermanatos de zinc.


Leer más...