martes, 30 de diciembre de 2014

Estructura de una Clase Java

Una clase en Java podemos estructurarla en las siguientes partes: Campos, Constructores y Métodos

La estructura de una clase en java por tanto se divide en 3 partes.

Los Campos que sirven para almacenar datos para que un objeto los use. También se les llama variables de instancia. Ejemplo:

          private int edad;
          private double peso;

Los Constructores permiten que cada objeto sea preparado adecuadamente cuando es creado. Tienen el mismo nombre que la clase en la que son definidos. Ejemplo:

          public NombreClase()
          {
          edad = 31;
          peso = 74.9;
          }

Los Métodos que están compuestos por dos partes: encabezado y cuerpo. A su vez podemos diferenciar dos tipos de métodos: métodos de acceso que sirven para devolver información sobre el estado de un objeto y métodos de modificación que sirven para cambiar el estado de un objeto. 

Ejemplo de método de acceso:

          public int getEdad()
          {
          return edad;
          }

Ejemplo de método de modificación:

          public void ingresarEdad(int y)
          {
          edad = y;
          }

Ahora vamos a ver en una captura cómo quedaría la clase completa en Bluej, nuestra clase se llama EstructuraClase y podemos ver las partes en las que se diferencia, tiene los campos donde declaramos las variables edad y peso (cuadrado verde), luego tiene el constructor que los inicializa con esos valores (cuadrado azul) y finalmente tiene los métodos (cuadrado rojo). En este caso tiene dos métodos de acceso get uno para peso y otro para edad que nos devuelven su valor y otros dos métodos de modificación set que nos modifican los valores de edad y peso según los parámetros que le pasemos:
bluej estructura de clase
Estructura de una clase en Java
Espero os sirva de ayuda para que podáis comprender mejor cómo es la estructura de las clases en Java

lunes, 29 de diciembre de 2014

¿Qué es un proceso Demonio?

Muchas veces habréis oído el termino proceso demonio, pues en esta entrada vamos a describir qué es y el por qué de su nombre.

El término proceso demonio, o daemon en inglés, fue acuñado por los programadores del proyecto MAC, Multiple Access Computer.

Ellos tomaron el nombre del demonio de Maxwell un ser imaginario de un famoso experimento del físico escocés J. C. Maxwell. En ese experimento el demonio es el nombre de una criatura imaginaria (fue ideada en el año 1867) para explicar e ilustrar mejor la segunda ley de la termodinámica. Según este experimento el demonio es una criatura capaz de seleccionar moléculas calientes y moléculas frías. Por tanto el demonio de Maxwell trabajaba continuamente sin ser visto ordenando estas moléculas. Maxwell se inspiró en los demonios de la antigua mitología griega, algunos de los cuales se encargaban de hacer aquellas tareas que los dioses no querían realizar. De ahí muchos sistemas informáticos como UNIX acuñaron el termino para unos determinados procesos que se ejecutan en segundo plano y sobre los cuales el usuario no tiene control directamente. Por lo general son procesos que se encargan del mantenimiento del sistema, administración y control de redes, ejecución de actividades dependientes del tiempo, etc. Por lo que podemos definir finalmente un proceso demonio como un proceso que realiza tareas de "mantenimiento" del sistema para mejorarlo y que el usuario quede más "liberado" para realizar otras funciones.

viernes, 26 de diciembre de 2014

¿Qué es una clase en java?

En la programación orientada a objetos cobra una especial importancia el concepto de Clase.

Cuando se escribe un programa en un lenguaje orientado a objetos se está creando un modelo de alguna parte del mundo real. Los objetos pueden estar organizados en categorías y una clase describe de forma abstracta todos los objetos en particular.

Un ejemplo para entender la definición de clase en el mundo real sería Automóvil, Automóvil sería la clase y de está clase podemos sacar objetos que también se llaman instancias que serían los automóviles en particular. Tenemos la clase Automóvil que nos indica que puede hacer un Automóvil, que partes lo forman, etc. y un objeto sería un Automóvil en concreto.

Los objetos representan casos individuales de una clase y la clase describe la categoría del objeto, que va a poder hacer, que lo forma, etc.

Para crear una clase en bluej basta con crear un nuevo proyecto pulsar con el botón derecho del ratón y Crear Nueva Clase. Al crear la nueva clase debemos darle nombre y ya tenemos una clase cómo está que podemos ver aquí:


En posteriores entradas veremos como entender mejor lo que es una clase y cómo es la estructura de la misma. Para ir introduciendo diremos que cada clase se compone de campos, constructores y métodos, los campos que es donde declaramos las variables que vamos a utilizar en la clase, los constructores que sirven para preparar los objetos adecuadamente para su uso y los métodos que nos permitirán modificar y obtener información de los objetos. Hay métodos de modificación y métodos de acceso, pero de todo esto hablaremos en entradas siguientes.

martes, 23 de diciembre de 2014

Space Invaders en Java con Bluej

Aquí os traigo un Space Invaders realizado en Java con el IDE Bluej.

Es un Space Invaders que tuve que realizar para una asignatura. Es una versión en la que unos ufos (aliens) nos están invadiendo y tenemos que impedir que lleguen a la parte inferior de la pantalla. No es una versión igual que las originales pero se puede jugar. Hay que tener en cuenta que es una adaptación del juego en la que se nos pedía que los aliens fueran desplazándose lateralmente por la pantalla y al llegar a los lados fueran bajando, que abajo hubiera una nave que disparara y los fuera matando con la limitación de que sólo podía haber un disparo en la pantalla por lo que hasta que un disparo mata a un alien o sale por la pantalla no se puede volver a disparar. El enunciado concreto de lo que teníamos que hacer no lo recuerdo pero era más o menos eso. Los botones de cambio de gráficos, activar, desactivar, aumentar velocidad, etc etc, se los añadí yo para mejorarlo un poco y sacar algo más de nota. El juego está tal cual lo hice, solo he modificado el botón información que antes tenía que poner mis datos de alumno y de asignatura y ahora pone otra cosa.

Os adjunto una captura de pantalla en la que se puede ver el diagrama de clases del mismo en la que vemos como unas clases usan a otras y además se hace uso de la herencia (requisito que teníamos que cumplir para aprobar). En el diagrama de clases también veis que hay una clase de música, pero no se usa, me dijo el tutor que no había que ponerle música ni nada por lo que la deje así sin usar, pero está lista para ponerle la música que queramos en cualquier momento.

Diagrama de clases y captura de Space Invaders en Java
Diagrama de Clases y Captura de pantalla Space Invaders
Cómo veis con Bluej se pueden realizar juegos fácilmente. Con apenas 10 clases tenemos un juego al que se puede jugar perfectamente. La asignatura para que lo hice era en la primera que veía java por lo que si tuviera que hacerlo ahora cambiaría muchas cosas y lo mejoraría bastante. En publicaciones posteriores iremos viendo como crear un juego de la nada, cómo mejorarlo, añadirle cosas, personalizarlo, etc. Os dejo también el ejecutable .jar por si queréis jugar y ver cómo funciona. Cómo he dicho más arriba, tiene algunos errores, pero se puede jugar perfectamente. Espero que os guste y cualquier cosa no dudéis en ponerla en los comentarios. 

Pulsa en el icono para descargarlo:

https://drive.google.com/file/d/0B2zat_Urx3pJOGVjY3Z5SDAzQ2s/view?usp=sharing
Space Invaders

lunes, 22 de diciembre de 2014

Primer Programa en Java

Vamos a crear un primer programa en java utilizando Bluej.

Cómo vamos a ver, realizar un programa tipo "Hola Mundo" es muy sencillo en java y más con el entorno de desarrollo Bluej. Para hacerlo sólo tenemos que crear una clase que será la que contendrá el main (el main en java es el encargado de ejecutar el programa).

Os pongo el código fuente de nuestro primer programa debidamente comentado para que podáis entenderlo mejor:
(las frases que van tras // son comentarios, no afectan al funcionamiento del programa y sirven para poder entender mejor el código, hay varios tipos de comentarios en java, en entradas posteriores iré explicando como se usan y para que nos pueden servir)


//este es el nombre de la clase, que en este caso es PrimerPrograma
public class PrimerPrograma
{
//este es el main que será el encargado de ejecutar lo que hay en su interior
    public static void main(String[]args){
        
//se encarga de imprimir en pantalla la frase que hay entre " "
        System.out.println("Primer Programa Realizado");
        
    }
}

Os pongo una imagen de cómo quedaría nuestra clase en Bluej:

hola mundo en java con bluej
Primer Programa en Java con Bluej
Una vez tenemos el código en nuestra clase y vemos que no tiene ningún error tenemos dos posibilidades. Ejecutarlo desde bluej o crear un jar ejecutable (un archivo .jar es un ejecutable que al hacer doble clic en él ejecuta nuestro programa). Si lo ejecutamos desde bluej obtendremos el siguiente resultado que nos muestra por pantalla la frase que hemos puesto entre "":

hola mundo en terminal
Terminal de Bluej
Si optamos por exportar el proyecto y crear un archivo .jar y hacemos doble clic sobre él no veremos nada ya que nuestro programa sólo muestra por terminal esa frase que le hemos puesto, para verlo en pantalla deberíamos crear una ventana y que ahí pusiera la frase, por tanto para poder ejecutar y ver el resultado de nuestro programa tenemos que ir a la consola y ejecutar el jar de la manera siguiente:

hola mundo desde consola
Ejecutar .jar desde la consola
Cómo vemos, nos tenemos que ir al directorio donde esté nuestro archivo .jar y ahí escribir: java -jar PrimerPrograma.jar y pulsar enter y entonces ya se ejecuta el programa que en este caso escribe esa frase en la pantalla.

Así de fácil es crear y ejecutar nuestro primer programa en Java, cualquier aclaración, duda o crítica no dudéis en ponerla por los comentarios.

viernes, 19 de diciembre de 2014

Sistemas Operativos del futuro

¿Cual será el Sistema Operativo dominante en los PC en los próximos años?

Hasta hace poco tiempo el sistema operativo que ha predominado en todos los ordenadores ha sido Windows en sus diferentes versiones. También hay algunos que usan Linux y los usuarios de Apple que usan su propio sistema operativo (OS X Yosemite es su última versión). Con la llegada de los Chromebook Android también ha demostrado que puede ser un buen Sistema Operativo para ordenadores personales, portátiles e incluso PCs.

Pero, ¿cuál será el sistema operativo que predominará en el futuro? Desde aquí pensamos que será una batalla entre Windows y Android. Apple OS quedará sólo en los dipositivos Apple. En cuanto a Linux pienso que subirá su uso pero pensamos que no se generalizará tanto cómo los otros por su dificultad para usuarios poco avanzados.

Cómo sabemos Android es el sistema operativo mas usado en los dispositivos móviles y cada vez tiene más funciones que le permiten hacer casí de todo. Windows es el sistema operativo de siempre por así decirlo y con el que todos nos hemos ido iniciando en el mundo de la informática.

La batalla se presenta interesante, personalmente, a falta de ver las novedades que trae Windows 10, pienso que Android se acabará imponiendo. Ahora mismo Android no tiene la potencia y capacidad de un Sistema Operativo cómo podría ser Windows 7 o 8.1 pero poco a poco con cada actualización los ingenieros de Android van mejorando y añadiendo funciones a su sistema operativo por lo que pienso que en unos años si puede superar claramente a Windows. Otro motivo por el que pienso que acabará imponiéndose Android en los ordenadores y portátiles es que todo el mundo o casi todo tiene o ha tenido un movil con Android y tener un ordenador con el mismo sistema operativo nos ofrece muchas ventajas, se usan igual, nos permiten sincronizar los dispositivos, etc.

Sólo con el tiempo veremos como va desarrollándose el mundo de los Sistemas Operativos.

¿que pensáis vosotr@s? ¿acabará imponiéndose Android en los portátiles y sobremesas?

jueves, 18 de diciembre de 2014

IDE para empezar a programar

Vamos a ver que es un IDE y cual es el mejor para iniciarnos en la programación.

Un IDE es un entorno de desarrollo integrado, es decir, un programa que nos sirve para programar. 

Hay IDEs que sirven para más de un lenguaje de programación, hay otros que solo sirven para uno. Si veis antiguas entradas del blog veréis que hay entradas sobre el lenguaje c y sobre el lenguaje java, a partir de ahora casi todas las entradas de programación que pongamos serán de java y además incluiremos su código fuente para que lo podáis copiar, usar, modificar, etc.

Un buen entorno que nos permite iniciarnos en el mundo de la programación en java es Bluej. Es muy bueno para aprender y además sirve para hacer de todo, mucha gente lo usa a nivel profesional. Otros IDEs más profesionales pueden ser Netbeans o Eclipse que incluyen más funciones, pero cómo he dicho Bluej es más que suficiente para hacer cualquier cosa que nos imaginemos e incluso usarlo de forma profesional.

Bluej además es gratuito y lo podemos conseguir aquí: http://www.bluej.org/ 

Icono del IDE Bluej
Icono del IDE Bluej

Una vez instalado es muy fácil de usar, pronto pondremos entradas con el correspondiente código fuente de los programas que se hagan para que veáis su facilidad de uso.