lunes, 30 de mayo de 2016

HERENCIA Y POLIMORFISMO EN PROGRAMACIÓN

¿ QUE ES UNA HERENCIA EN PROGRAMACIÓN ?

La herencia es una propiedad de algunos lenguajes de programación como Java que permite que un objeto sea creado a partir de otro existente, obteniendo características como atributos y métodos, lo que nos permite crear objetos derivados a partir de objetos bases. Simplemente se crea una clase con funciones bases y luego se crea otra clase más (llamada clase hija) que herede de la otra clase (llamada clase padre) y que además agregue otros atributos y métodos que la definan  y la hagan una especialización de su clase padre.



EJEMPLO 

Conociendo el concepto de clases y objetos vamos a asumir que necesitamos construir una aplicación sobre los diferentes tipos de vehículos existentes, pero para esto necesitamos clasificaros, en este caso trabajaremos con vehículos acuáticos y aéreos.    


Como vemos, la Clase Padre es Vehículo, la cual tiene como hijas a las clases Acuático y Aéreo, estas a su vez son clases Padre de Barco, Velero, Avión y Helicóptero que a la vez son nietas de Vehículo.

Con esto ya tenemos una jerarquía de herencia definida, esto quiere decir que por ejemplo la clase Avión puede usar el método volar() de la clase Aéreo, así como también usar el método transportar() de la clase Vehículo, pues se encuentra en el mismo árbol de herencia, sin embargo no puede usar el método navegar() de la clase Acuático, ya que no es de tipo Acuático.

Ahora explicare el concepto en java 










Como vemos seguido del nombre de la clase se tiene la palabra extends la cual indica que se extiende o hereda de la clase definida, así mismo todas las clases tienen al menos un método que representa la característica propia de la clase, para las clases hijas ese método define el proceso que solo ellas pueden realizar, para las clases padre, ese método define el proceso que es común o general para las clases hijas.

¿ QUE ES EL POLIMORFISMO EN PROGRAMACIÓN ?


En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las obvias diferencias sintácticas.
Por ejemplo, en un lenguaje de programación que cuenta con un sistema de tipos dinámico (en los que las variables pueden contener datos de cualquier tipo u objetos de cualquier clase)


EJEMPLO

En el siguiente ejemplo hacemos uso del lenguaje C++ para ilustrar el polimorfismo. Se observa a la vez el uso de las funciones virtuales puras, como se les conoce en C++, estas funciones constituyen una interfaz más consistente cuando se trabaja con una jerarquía de clases, puesto que hacen posible el enlace durante la ejecución. Sin embargo como se verá, para que el polimorfismo funcione no es una condición obligatoria que todas las funciones en la clase base sean declaradas como virtuales.


































miércoles, 11 de mayo de 2016

METODOS Y FUNCIONES EN JAVA


Un método en Java es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante un nombre. Cuando se llama a un método, la ejecución del programa pasa al método y cuando éste acaba, la ejecución continúa a partir del punto donde se produjo la llamada.

¿PARA QUE SIRVEN LOS METODOS  EN PROGRAMACIÓN ?

ü  Con los metodos se  Pueden  construir programas modulares.

ü  Se consigue la reutilización de código. En lugar de escribir el mismo código repetido cuando se necesite.

ü Todo programa java tiene un método llamado main. Este método es el punto de entrada al programa y también el punto de salida.   



ESTRUCTURA GENERAL DE UN MÉTODO EN  JAVA 

La estructura general de un método Java es la siguiente:


[especificadores] tipoDevuelto nombreMetodo([lista parámetros]) [throws listaExcepciones]
{
    // instrucciones
   [return valor;]
}
Los elementos que aparecen entre corchetes son opcionales.

ü Especificadores (opcional): determinan el tipo de acceso al método. Se verán en detalle más adelante.

ü Tipo De vuelto: indica el tipo del valor que devuelve el método. En Java es imprescindible que en la declaración de un método, se indique el tipo de dato que ha de devolver. El dato se devuelve mediante la instrucción return. Si el método no devuelve ningún valor este tipo será void.

ü Nombre Metodo: es el nombre que se le da al método. Para crearlo hay que seguir las mismas normas que para crear nombres de variables.

ü Lista de parámetros (opcional): después del nombre del método y siempre entre paréntesis puede aparecer una lista de parámetros (también llamados argumentos) separados por comas. Estos parámetros son los datos de entrada que recibe el método para operar con ellos. Un método puede recibir cero o más argumentos. Se debe especificar para cada argumento su tipo. Los paréntesis son obligatorios aunque estén vacíos.

ü Throws listaExcepciones (opcional): indica las excepciones que puede generar y manipular el método.

ü Return: se utiliza para devolver un valor. La palabra clave return va seguida de una expresión que será evaluada para saber el valor de retorno. Esta expresión puede ser compleja o puede ser simplemente el nombre de un objeto, una variable de tipo primitivo o una constante.

ü El tipo del valor de retorno debe coincidir con el tipoDevuelto que se ha indicado en la declaración del método.
Si el método no devuelve nada (tipoDevuelto = void) la instrucción return es opcional.
Un método puede devolver un tipo primitivo, un array, un String o un objeto.
Un método tiene un único punto de inicio, representado por la llave de inicio {. La ejecución de un método termina cuando se llega a la llave final } o cuando se ejecuta la instrucción return.
La instrucción return puede aparecer en cualquier lugar dentro del método, no tiene que estar necesariamente al final.
                   

 IMPLEMENTACIÓN DE MÉTODOS EN JAVA

Pasos para implementar un método

ü Describir lo que el método debe hacer
ü  Determinar las entradas del método
ü Determinar los tipos de las entradas
ü Determinar el tipo del valor retornado
ü Escribir las instrucciones que forman el cuerpo del método
ü  Prueba del método: diseñar distintos casos de prueba


  



En este ejercicio el método se llama sumar y recibe dos números enteros a y b.  En la llamada al método los valores de las variables numero1 y numero2 se copian en las variables a y b. El método suma los dos números y guarda el resultado en c. Finalmente devuelve mediante la instrucción return la suma calculada.





FUNCIONES EN JAVA 


Las funciones son un conjunto de líneas de código (instrucciones), encapsulados en un bloque, usualmente reciben parámetros, cuyos valores utilizan para efectuar operaciones y adicionalmente retornan un valor. En otras palabras una función puede recibir parámetros o argumentos (algunas no reciben nada), hace uso de dichos valores recibidos como sea necesario y retorna un valor usando la instrucción return, si no retorna algo, entonces no es una función. En java las funciones usan el modificador static.

El siguiente programa calcula el número de combinaciones




domingo, 8 de mayo de 2016

MATRICES Y ARREGLOS

 ¿ QUE ES UNA MATRIZ EN PROGRAMACIÓN ? 


Un matriz es una estructura de datos, o más técnicamente, un espacio de memoria que     permite almacenar una colección de elementos, todos del mismo tipo. La diferencia con los arreglos está en que, en las matrices, los elementos no están organizados linealmente sino que su organización es bidimensional, es decir, en filas y columnas. Conviene imaginar una matriz  como una organización de celdas de memoria, o casillas, en cada una de las cuales se puede guardar un elemento de la colección

FUENTE http://disi.unal.edu.co/~programacion/book/modulo3.pdf


Ejemplo de cómo se llena una matriz 3*4 en programación




FUENTE
 http://1.bp.blogspot.com/-B8sDn5Z7DgA/VY1u3vrv5wI/AAAAAAAADR8/ciHZ7qhfdJU/s1600/inicializacionMatriz.PNG 




¿ QUE ES UN ARREGLO EN PROGRAMACIÓN ?

Un arreglo es una estructura de datos, o más técnicamente, un espacio de memoria que permite almacenar una colección de elementos, todos del mismo tipo. Conviene imaginar un arreglo como una secuencia contigua de celdas (espacios de memoria), o casillas, en cada una de las cuales se puede guardar un elemento de la colección

FUENTE http://disi.unal.edu.co/~programacion/book/modulo3.pdf





FUENTE http://users.dcc.uchile.cl/~bebustos/apuntes/cc30a/Estructuras/arreglo.gif


La figura  anterior representa un arreglo de 10 casillas cada una de las cuales se puede utilizar para guardar un dato. La dimensión o tamaño de un arreglo es el número de casillas que lo conforman. Debe ser claro, entonces, que la figura anterior corresponde a un arreglo de dimensión 10


sábado, 7 de mayo de 2016

CICLO





 ¿QUE ES UN CICLO EN PROGRAMACIÓN? 



Un ciclo o también llamado bucle en programación es una estructura que permite repetir una operación determinada cantidad de veces según la función que le impongas.

Dentro de los ciclos se utilizan contadores y acumuladores, que regulan que el ciclo llegue a su fin.

CONTADOR: Es un tipo de variable que incrementa o decrementa en una cantidad constante, se utilizan con la finalidad de contar sucesos, acciones o iteraciones internas en un ciclo, Cuando decimos que incrementa estamos sumando.

Ejemplo: ALUMNOS = ALUMNOS +1

Como se puede observar a la variable alumnos se le está incrementando un valor constante (1); es decir a su contenido se le  suma el valor y se vuelve a guardar en la misma variable.



Acumulador: Es una variable que suma un conjunto de valores  para de esta manera tener la suma de todos en una sola variable incrementa o decrementa su contenido en cantidades variables.

Ejemplo: ALUMNOS = ALUMNOS+ SALÓN

TIPOS DE CICLOS 

En la programación existen principalmente tres tipos de ciclos 
, la  utilización de ellos depende del tipo de programa que se este  realizando. Los ciclos  se definen básicamente por la forma en que les indicamos el número de iteraciones que se debe realizar 
 los tres tipos de ciclos son 
  • For
  • While
  • Do while .

FOR

El ciclo for se  utilizan cuando se sabe el número de vueltas que tiene que realizar el programa cuando entra en ciclo. 


Por ejemplo si desea utilizar la variable entera Y para controlar el numero  de iteraciones y queremos que realice 6 iteraciones, entonces se podría especificar de la siguiente manera:

 Y = 1 ,6 ,1 
esto significa que al comenzar el ciclo la variable toma el valor 1 y finaliza el ciclo cuando toma el valor 6, también cabe decir que este ciclo realizara 6 iteraciones 


WHILE

El ciclo  While se utiliza cuando  no sabemos realmente  el número de iteraciones que se van a realizar en el ciclo, sin embargo sí sabemos que mientras se cumpla una determinada condición se debe realizar el ciclo  Cuando esa condición ya no se cumpla entonces el ciclo terminará.


DO-WHILE

el ciclo do-while, a diferencia de los  anteriores, es que éste evalúa la condición al final del ciclo;  En los ciclos do-while no se sabe la prioridad, ni el  número de iteraciones que se van a realizar, todo depende de la condición que hay al fin al del ciclo; si ésta es cierta se vuelve a realizar una iteración , mientras que si es falsa se termina la ejecución del ciclo.