viernes, 4 de mayo de 2012

Introducción a OOP(Atributos de instancia y de clase)

Que son los atributos:

                Definición:
                               Los atributos determinan el estado que tiene un objeto. Estos pueden ser tipo de datos primitivos u objetos de cualquier clase.

                Ejemplo:
                               La clase persona tiene como atributos la altura, el color de ojos y la edad.

                Ejemplo en java:
                              
                               public class Persona {
                              
                               public int altura;
                               public String colorDeOjos
                               public int edad;
                              
                               }
               
                Utilizacion:

                               Persona mario = new Persona();
                               mario.altura = 183;
                               mario.colorDeOjos = “marrones”;
                               mario.edad = 40;


Atributos de Instancia

                Los atributos de instancia son aplicables a un solo objeto. Determinan el estado en el que se encuentra un objeto.

                Ejemplo:
                               El atributo altura en la clase Persona es de instancia, debido a que cada persona tendrá su propia altura.

                Ejemplo en Java:
                              
                               public class Persona{
                                              
                                               public int altura;

                               }

                Luego:
               
                               Persona mario = new Persona();
                               mario.altura = 184;
                               Persona maria = new Persona();
                               maria.altura = 152;




Atributos de clase:

                Un atributo de clase es un atributo común a todos los objetos instanciados de la clase. Al estar definido en la clase no hace falta instanciar la clase para utilizarlo. Las constantes se suelen definir como atributos de clase.

                Ejemplo:
                               El atributo cantidadDeOjos en la clase Persona es de clase, debido a que todas las instancias de la clase persona tendrán igual cantidad de ojos.

                Ejemplo en Java:

                               public class Persona{
                              
                                               public static int cantidadDeOjos = 2;

                               }


                Luego:

                               Persona mario = new Persona();
                               Persona maria = new Persona ();
                               mario.cantidadDeOjos                 // es igual a 2
                               maria.cantidadDeOjos                  // es igual a 2
                               Persona.cantidadDeOjos             // es igual a 2    


                Y este 2 es siempre el mismo, no se instancia un cantidadDeOjos para cada objeto, siempre es el mismo 2 de cantidadDeOjos.
Si modifico esta cantidad de ojos, se modifica para todas las instancias del objeto:
               
                               Persona.cantidadDeOjos = 3;

                entonces:

                               mario.cantidadDeOjos                 // es igual a 3
                               maria.cantidadDeOjos                  // es igual a 3

Introducción a OOP (Clases y Objetos)


Que es una clase:

                Definición:
                               Una clase es una agrupación de reglas de negocio, o representaciones de un concepto de la vida real. Es un molde, con reglas, para armar un objeto. Esta formada por atributos, que definen un estado particular, y métodos, que definen su uso o comportamiento.

                Implementación en JAVA
                               Ejemplos de cómo codificar diferentes clases en Java:

                               public class Persona{
                               }
                               public class Auto{
                               }

Que es un objeto:

                Definición:
                               Un objeto es una instancia de una clase. Como ejemplo, una instancia de la clase Persona, podría ser una persona llamada Mario. Puede tenerse varias instancias de una misma clase, pero una única clase de Persona, un persona Mario, y una persona María, con ambas instancias de la clase Persona.

                Implementación en Java
                               Ejemplos de cómo codificar diferentes objetos en Java:

                               Persona mario = new Persona();
                               Persona maria = new persona();



miércoles, 2 de mayo de 2012

Netbeans (Lo básico)


-Vistas de un proyecto

Las vistas son distintas formas de ver un proyecto. Project View es una vista lógica que representa al proyecto como paquetes, clases, métodos y atributos. FileView es una vista física de los archivos y directorios que conforman al proyecto.

-Directorios de un proyecto

El netbeans genera la siguiente estructura de directorios para manejar el desarrollo de un proyecto:

       \src , que contiene el código fuente, los archivos Clase.java
       \build , se genera en la compilación del proyecto y contiene el código compilado, los Clase.class
       \dist , es el directorio donde se alojan los archivos para distribuir, tales como archivos         miprograma.jar, o miaplicacionweb.war de forma tal que sea simple llevarlas a un ambiente productivo
       \nbproject , contiene archivos propios de la administración del proyecto de NetBeans

-Comandos útiles aplicables a un proyecto

Al seleccionar la vista de Project View, se puede hacer un clic derecho sobre el proyecto y aparecerán los comandos más importantes, entre ellos encontraremos:
        
         -Build Project, compila el proyecto y genera el archivo aplicación.jar
         -Clean Project, elimina todos los archivos compilados de la versión anterior del proyecto, dejando solo el código fuente.
         -Run Project, ejecuta el proyecto desde la clase principal preconfigurada, de no haber un preconfigurada mostrara las opciones de las clases con métodos main definidos.
         -Debug Project, se utiliza para debuguear el proyecto, hacer una corrida paso a paso viendo el contenido de las variables.
         -Set Main Project, configura el proyecto como el proyecto principal, entre varios proyectos.
         -Close Project, cierra el proyecto.
         -Properties, permite visualizar las propiedades del proyecto.

-El debugger

Herramienta que se utiliza para examinar el programa en busca de errores y depurarlos, en un paso a paso por las líneas del código fuente de toda la aplicación.
Las partes mas importantes son:

-Utilizacion de breakpoints, se coloca un breakpoint en la línea de código donde se quiere detener la ejecución del programa para evaluar el estado de las variables.
-Utilizacion de watches, se utiliza para visualizar el valor de variables que uno desee y expresiones del código en ejecución.
-Visualizacion de local variables, se utiliza para visualizar valores de las variables locales al código en ejecución.

martes, 1 de mayo de 2012

Sintaxis de Java (Comentarios)


-Tipos de comentarios

Existen tres tipos de comentarios. Los comentarios de línea, de bloque y los javadoc.

-Comentarios de línea

Los comentarios de línea se utilizan para comentar en una sola línea, una sentencia, explicar la definición de una variable, o un paso a paso del código que se esta observando. Un ejemplo de comentario de línea es el siguiente:

         int num =  5 // este comentario me permite decir que esta es una asignación de un numero.

-Comentarios de bloque

Los comentarios de bloque permiten comentar un bloque de código o simplemente agregar varias líneas de texto para explicar algo que solo debe ser visto en el momento de la programación. El modo de utilizarlo es el siguiente:

         /*
                         En este comentario se puede explicar varias cosas.
                         Algunas condiciones que se deben cumplir para continuar con la ejecución del código
                         Algun código alternativo en caso de estar testeando alguna versión, o modificando el programa.
                         O simplemente dejar alguna advertencia sobre el código que se esta observando
         */

-Comentarios Javadoc

Los comentarios del tipo javadoc permiten documentar de una forma mas útil, mas publica nuestro programa. Pueden ir en cualquier sector de las clases, los packages, los atributos, los métodos. Una vez que esta documentación se ha escrito explicando o definiendo una clase, un paquete o los atributos o métodos, con la ejecución de la herramienta javadoc se obtiene un sitio con la api del programa, donde se encontraran las explicaciones que se fueron agregando en las clases. Todos estos comentarios son vinculados como en la api de java standard.

-Caracteres especiales

La representación de caracteres especiales como el salto de línea o la tabulación, se logran a partir de la barra (\). Los caracteres especiales mas utilizados son:

ü  \n à Nueva línea
ü  \t à Tabulador
ü  \’ à Comilla simple
ü  \” à Comilla doble
ü  \\ à Barra

Sintaxis de Java (Estructuras de control de flujo)


-Introduccion

JAVA al igual que C y C++ utiliza las estructuras de control if-else, while, do-whiel y como selector de opciones la estructura switch.
Las estructuras de control rigen en su ejecución a partir de una condición del tipo boolean, es decir, el resultado de operadores lógicos o el resultado de un método que retorne un valor de verdad, verdadero o falso.

-Bifurcacion if-else

La bifurcación if-else es la más simple de las estructuras:
        
         if (expresionBooleana) {
                         sentencias1;
         }else{
                         sentencias2;
         }



-Bifurcacion if-else-if-else

if (expresionBooleana) {
   sentencias1;
}else if (exprecionBooleana2) {
   sentencias2;
}else{
   sentencias3;
}



-Bifurcacion switchs

El switch es clasificado como selector de sentencias de ejecución evaluando una expresión integral (valor numérico entero o carácter).
        
         switch (expresionIntegral) {
                         case valor1: sentencias1; break;
                         case valor2: sentencias2; break;
                         case valor3: sentencias3; break;
                         default: setencias4; break;
         }


La ejecución se resuelve evaluando la expresión integral y se busca desde la primera expresión hacia la expresión por defecto, cual etiqueta de evaluación de caso resuelve ser igual en valor, al valor de la expresión integral. En caso de no ser ninguna de las etiquetas (case) igual al valor de la expresión se ejecutan las sentencias de la opción default. En caso de no agregar la sentencias break, se ejecutara de continuo una etiqueta tras otra hasta encontrar un break o salir del alcance definido por el switch.
 

-Bucle while

Las sentencias de bucles, son clasificadas como sentencias de iteración. Las sentencias será ejecutadas a la medida en que sea verdadera la expresión booleana, solo dejaran de ejecutarse cuando esta expresión sea falsa. La expresión puede nunca ser verdadera, en ese caso se ejecutaran las sentencias que están dentro del ciclo.

         while (expresionBooleana){
                         sentencias;
         }


-Bucle do-while

La única diferencia con el bucle while es que el bucle do-while ejecuta al menos una vez las sentencias, aunque desde el principio la expresión booleana sea falsa.

         do{
                         sentencias;
         }while(expresionBooleana);


-Bucle for

El bucle for permite en un principio una inicialización, luego itera comenzando con una evaluación de la expresión booleana y por ultimo realiza algún tipo de paso a próximo, o reducción de la complejidad del algoritmo, en camino hacia convertir la expresión booleana en falso. Se ejecutan las sentencias, mientras la expresión booleana se mantenga en un estado de verdadero por cada paso.

         for(inicialización; expresionBooleana; postAccion){
                         sentencias;
         }


-Sentencia break

La sentencia break puede encontrarse dentro del alcance de un ciclo. Generalmente se encuentra dentro de una bifurcación, tal que si una condición booleana se cumple s ejecutara el break y saldrá del alcance del ciclo.
Si bien se escribe de la misma forma que el break del switch, su funcionamiento es distinto dado que no salta al siguiente paso, sino que corta la ejecución del ciclo, sin importar el estado de verdad o falsedad de la expresión booleana, y lo deja sin efecto.

-Sentencia continue

La sentencia continue puede utilizarse en ciclos, y permite la omisión de la ejecución de las sentencias definidas justo luego de la sentencia, dado que salta la ejecución hasta la próxima iteración. Generalmente se encuentra dentro de una bifurcación, de forma tal que una expresión booleana permita saltar las sentencias siguientes, hasta la próxima iteración del ciclo.
Debe tomarse muy en cuenta que antes de la ejecución de un continue debe haberse logrado reducir la complejidad del algoritmo, ya que al saltar a la próxima iteración, si la expresión booleana sigue en la misma condición y no se ha reducido la complejidad, puede generarse un ciclo infinito de ejecución.