Ir al contenido principal

Entradas

Mostrando las entradas de abril, 2008

Constructores sobrecargados

Sobrecargar un constructor significa escribir versiones múltiples del constructor de una clase, cada uno de ellos con una lista diferente de argumentos, algo parecido a lo que se muestra a continuación:   class Animal{     Animal(){}     Animal(String nombre){}     Animal(String nombre, int edad){}   }   En la clase anterior (la clase Animal) podemos identificar que existen 3 constructores sobrecargados, uno que toma una cadena como argumento, otro que toma una cadena y un entero y otro sin argumentos. Debido a que el constructor sin argumentos actualmente no contiene código es igual al constructor por defecto que provee el compilador de forma automática, pero debido a que ya existe otro u otros constructores en la clase, el compilador no agregará un constructor por defecto de manera automática.   Sobrecargar un constructor es típicamente utilizado para proveer a los clientes formas alternas de instanciar objetos de la clase. Por ejemplo, si el cliente sab

Los constructores y la creación de instancias

Para comenzar a analizar la creación y el comportamiento de los objetos en Java debemos de partir de la premisa de que 'todos los objetos se construyen' . Para que se entienda un poquito mejor, los constructores son aquel bloque de código que se manda a llamar cada vez que el compilador encuentra la palabra 'new' dentro del código. No se puede crear un objeto sin invocar primeramente a su constructor. De hecho, no se puede crear un nuevo objeto no solo sin invocar a su constructor sino a todos los constructores de todas sus clases padre o superclases.   Tomando en cuenta la información anterior, vamos a comenzar con algunos conceptos básicos sobre los constructores.   Conceptos básicos de los constructores::   Cada clase, incluyendo las clases abstractas, deben de poseer un constructor. Pero solo por el hecho de que cada clase debe de tener alguno no significa que el programador debe de escribirlo. Un constructor se ve más o menos así:   class MiClase

Atajos del teclado en NetBeans 6.0

Algunos atajos del teclado bastante útiles en NetBeans 6.0:   NetBeans ShortCuts Atajo Función Sirve para… Ctrl + Space Code Completion Agregar constructores, usar métodos de clase, extends, implements Alt + Insert Code Generator Agregar getter's y setter's, equals() y hashcode(), override, etc Alt + Enter Manage Imports, surround Agrega los import's necesarios, remueve los no utilizados, envuelve sentencias con if, for, do, try, etc Ctrl + Shift + (flecha Arriba o Abajo) Editor line tool Copia las líneas seleccionadas hacia arriba o abajo Alt + Shift + (flecha Arriba o Abajo) Editor line tool Mueve las líneas seleccionadas hacia arriba o abajo Ctrl + R Rename Con el cursor sobre el identificador, renombra todas las ocurrencias

Cuidado con los mensajes por cobrar de Movistar

Hace un rato, recibí un mensaje de Movistar que decía lo siguiente: "Tienes un mensaje Movistar por cobrar de 6621646932. Para recibirlo, responde a este mensaje con el texto 'si'. Precio $1.50. De: +520346621646932" En seguida traté de localizar información con respecto a este tipo de mensajes en internet pero no encontré nada de relevancia así que decidí ver lo que sucedía al seguir las instrucciones del mensaje, por lo tanto, respondí al mismo con la palabra si. Inmediatamente después me llegó un mensaje en 3 partes diciendo lo siguiente:   "BOLETAZO" 'URGENTE' Estimado Cliente Hoy se Realizo el Sorteo # 39 Que Realiza "BOLETAZO" en Apoyo a @ SALVATION@ Donde su Linea . Es Ganadora del Automovil JETTA (100.00 pesos M.N ) y un Equipo Tel / Cel . "Mil Felicidades" Comunicate a la Cd . de Mexico . al 0456621631290 lic. ALFREDO ESCOVAR GUTIER" Responde pagale otro mensaje Precio $2.00. Si envias uno nue

Rescatar información de una computadora con Windows dañado

El día de ayer un vecino que es arquitecto llegó a mi casa a pedirme que le hiciera el favor de arreglar su computadora ya que ésta se había quedado inutilizable después de querer instalar Autocad 2008 , el problema era que al arrancar le aparecía una de esas fabulosas pantallas azules del sistema operativo Windows XP indicándo un error. Me comentó que tenía mucha información valiosa (entre ella estaba su tésis, clásico) y que hiciera todo lo posible por rescatar dicha información localizada como de costumbre en la carpeta de 'Mis Documentos' . Le dije que me dejara su equipo, que haría todo lo posible por ayudarlo y él agradecido se fue. Una vez que él se fue me di a la tarea de conectar su computadora para primeramente inspeccionar la situación de la misma, al encenderla me di cuenta de que efectivamente, había quedado inutilizable, no importa en qué modo de operación se tratara de encender (normal, modo seguro, última configuración buena conocida, etc), el error era siempre

Mamá te espera, siempre te espera

Este video llegó a mi correo gracias a una de esas cadenas, una que vale la pena (ya que aproximadamente el 90% de esas cadenas no lo valen) y realmente me puso a pensar.     Hace poco en la ciudad donde vivo, León Gto, un joven que viajaba en su Mustang a un poco más de 180 km/hr por un boulevard influenciado por los efectos del alcohol provocó la muerte de uno de sus amigos, no cualquier tipo de muerte, su amigo murió degollado, mientras sus mamás los esperaban en sus casas.   Tengamos conciencia de lo que estamos haciendo, no nos jugamos una coca o una 'cheve', no nos jugamos solo nuestra vida sino la de los que nos rodean y de las personas a las que apreciamos.   Algo que decir? Deja tu comentario. Saludox.

Ubuntu Hardy Heron dentro de muy poco

    Es cierto que últimamente casi no he publicado nada con respecto a mi sistema operativo favorito: Ubuntu .   La verdad es que ya casi casi solamente utilizo el equipo que tengo en mi lugar de trabajo y pues, como en la gran mayoría de las empresas, trabajo con Güindous Equispe , lo que reduce la posibilidad de que yo hable más acerca de mi queridísimo Linux . De cualquier manera no quise dejar pasar la oportunidad de decir que faltan únicamente 6 dias para que la próxima versión LTS (soporte a largo plazo) de Ubuntu, es decir,  Hardy Heron llegue con su versión definitiva. Gracias a Canonical tenemos nuevamente el envío de cds de forma gratuita directamente a tu domicilio, de igual manera todo el software contenido en esta distribución es gratis, también podremos descargarlo , distribuirlo, copiarlo y reutilizarlo sin problema alguno gracias a su licencia de uso libre.   Canonical mantiene su promesa: Ubuntu será siempre libre de cualquier cargo, incluyen

Reglas para valores de retorno de métodos en Java

Todos los programadores estamos familiarizados con el uso de funciones y métodos en cualquier lenguaje de programación, sabemos que normalmente se puede (o no) recibir uno o más valores y devolver (o no) a su vez uno o más valores (dentro de un arreglo). En Java existen algunas reglas al momento de devolver un valor por medio de un método. Las reglas son pocas, relativamente sencillas pero sumamente importantes y se listan a continuación: 1. Se puede devolver un valor null en un método con una referencia a un objeto como tipo de retorno: public Button hacerAlgo(){ return null; } 2. Un arreglo es un tipo de retorno perfectamente legal: public String[] hacerAlgo(){ return new String[] {"hugo","paco","luis"}; } 3. En un método con un primitivo como tipo de retorno, se puede devolver cualquier valor o variable que pueda ser implícitamente convertida hacia el tipo de retorno declarado: public int hacerAlgo(){ char c = 'c'

Cómo implementar una interface en Java

Cuando se implementa una interface se está aceptando una especie de contrato definido en la interface. Esto significa que estás aceptando el proveer implementaciones legales para cada método definido en la interface. Por ejemplo, si se crea una clase que implemente la interface Runnable (para que el código pueda ser ejecutado por un hilo específico), debes de proveer el método public void run() . De otra manera, el hilo podría querer ser ejecutado pero al momento de buscar el método que le indique qué hacer simplemente no lo encontrará por que no fue definido. Java previene este tipo de situaciones ejecutando un chequeo por medio del compilador que verifíca que cada clase que implemente una interface provea de igual manera la implementación de cada uno de los métodos contenidos dentro de esta interface. Asumiendo la interface Rebotable , que contiene dos métodos: rebotar() y setFactorRebote() , el siguiente código de clase compilaría sin problemas: public class Pelota implements Rebot

Conversión(casting) de variables de referencia

Seguimos con el minicurso de Java, ahora toca el tema de conversión de variables de referencia ( 'Reference variable casting' por su título en el examen de certificación SCJP). Anteriormente hemos visto cómo es posible (además de común) el usar variables de referencia de tipos genéricos para referir (valga la redundancia) a objetos de tipos más específicos por medio del polimorfismo. Por ejemplo, al hablar del siguiente tramo de código debemos de identificar que ambos tipos de objetos pertenecen al mismo árbol de herencia y por lo tanto no es extraño encontrarnos con algo así: Animal animal = new Perro(); Ahora, ¿qué sucede si queremos utilizar una variable de referencia Animal (como en el caso anterior) para invocar a un método que solamente posee la clase Perro ?. Hasta este punto sabemos que la variable de tipo Animal está conteniendo realmente un Perro , no un Animal genérico cualquiera sino un Perro específicamente. En el siguiente código representamos un

JavaScript Collector: completa y útil colección de código

JavaScript Collector es una pequeña y potente aplicación gratuita que recopila muchísimos útiles scripts de Java que están listos para copiar y pegar directamente en tu aplicación o página web.   Entre muchos otros contiene scripts con efectos del mouse, efectos para el fondo de la página, herramientas de correo electrónico, banners, calculadoras, efectos de texto, utilidades de fecha y hora, contadores, herramientas para el diseño web, etc, etc, etc.   Además de todo esto tiene la capacidad de probar los scripts en 4 navegadores diferentes(siempre y cuando los tengas instalados) sin necesidad de copiar, pegar y guardar un archivo sino directamente a través de un solo botón, incluso puedes agregar los scripts de tu colección propia para hacer una mega colección de código útil y fácil de implementar.   Descargar   Alguna duda o algo qué decir? Deja tu comentario. Saludox.

Un manual completo de HTML en español

Hace ya algún tiempo comencé a incursionar en el diseño y desarrollo de páginas y aplicaciones web y me di cuenta de que no importa en qué lenguaje desarrolles las aplicaciones (Java, PHP, ASP, etc) o diseñes las páginas(Javascript, Flash, etc)  siempre, siempre tendrás que utilizar HTML , mucho o poco pero tendrás que utilizarlo. Generalmente lo que más se utiliza son las tablas, todo mezclado con hojas de estilo y algunas otras cositas.   En lo personal, es muy poco lo que me meto con HTML y por ello en ocasiones tiendo a olvidar algunas cuestiones básicas del lenguaje, normalmente cuando eso sucede no queda más que ingresar a un foro o una página donde poco a poco se pueden ir disipando las dudas, es un poco tardado pero todo se resuelve a final de cuentas.   Un dia mientras navegaba en busca de algunas cuestiones basicas me topé con un manual bastante completo , de hecho a mi punto de vista es el mejor manual de HTML en español que hay en la red y todos mis problemas de ese