miércoles, 1 de junio de 2016

Encapsulamiento

Encapsulamiento

La encapsulación es un mecanismo que consiste en organizar datos y métodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.

Ocultación de datos
El usuario de una clase en particular no necesita saber cómo están estructurados los datos dentro de ese objeto, es decir, un usuario no necesita conocer la implementación Al evitar que el usuario modifique los atributos directamente y forzándolo a utilizar funciones definidas para modificarlos (llamadas interfaces), se garantiza la integridad de los datos (por ejemplo, uno puede asegurarse de que el tipo de datos suministrados cumple con nuestras expectativas bien que los se encuentran dentro del periodo de tiempo esperado).
La encapsulación define los niveles de acceso para elementos de esa clase. Estos niveles de acceso definen los derechos de acceso para los datos, permitiéndonos el acceso a datos a través de un método de esa clase en particular, desde una clase heredada o incluso desde cualquier otra clase. Existen tres niveles de acceso:
·     público: funciones de toda clase pueden acceder a los datos o métodos de una clase que se define con el nivel de acceso público. Este es el nivel de protección de datos más bajo
·         protegido: el acceso a los datos está restringido a las funciones de clases heredadas, es decir, las funciones miembro de esa clase y todas las subclases
·         privado: el acceso a los datos está restringido a los métodos de esa clase en particular.   Este es nivel más alto de protección de datos.


Encapsulamiento en Java

 

lunes, 30 de mayo de 2016

Herencia y Polimorfismo


Herencia

La herencia es específica de la programación orientada a objetos, donde una clase nueva se crea a partir de una clase existente. La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que la subclase (la nueva clase creada) contiene los atributos y métodos de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican a los atributos y métodos heredados.Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada. La gran ventaja es que uno ya no debe comenzar desde cero cuando desea especializar una clase existente. Como resultado, se pueden adquirir bibliotecas de clases que ofrecen una base que puede especializarse a voluntad (la compañía que vende estas clases tiende a proteger las datos miembro usando la encapsulación).
Tomado de:
http://es.ccm.net/contents/411-poo-herencia

Ejemplo de herencia en java.




Tomado de: https://www.google.com.co/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwiv3s_OloLNAhXF1CYKHS_gAO4QjRwIBw&url=http%3A%2F%2Fcodeoptimizations.com%2Fherencia-en-java%2F&bvm=bv.123325700,d.eWE&psig=AFQjCNHQ6IwBPLcEV7yiFjO0EFt1grCcjg&ust=1464710632612155




Jerarquía de clase



La relación primaria-secundaria entre clases puede representarse desde un punto de vista jerárquico, denominado vista de clases en árbol. La vista en árbol comienza con una clase general llamada superclase (a la que algunas veces se hace referencia como clase primaria, clase padre,clase principal, o clase madre; existen muchas metáforas genealógicas). Las clases derivadas (clase secundaria o subclase) se vuelven cada vez más especializadas a medida que van descendiendo el árbol. Por lo tanto, se suele hacer referencia a la relación que une a una clase secundaria con una clase primaria mediante la frase "es una" x o y.





Herencia múltiple



Algunos lenguajes orientados a objetos, como C++ permiten herencias múltiples, lo que significa que una clase puede heredar los atributos de otras dos superclases. Este método puede utilizarse para agrupar atributos y métodos desde varias clases dentro de una sola.



Tomado de: http://es.ccm.net/contents/411-poo-herencia

Herencia en java
https://www.youtube.com/watch?v=CYNLhg42O9c


Polimorfismo


En programación orientada a objetos se denomina polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.

Dicho de otra forma, el polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de dicha clase o subclases. Una forma de conseguir objetos polimórficos es mediante el uso de punteros a la superclase. De esta forma podemos tener dentro de una misma estructura (arrays, listas, pilas, colas, ...) objetos de distintas subclases, haciendo que el tipo base de dichas estructuras sea un puntero a la superclase. Otros lenguajes nos dan la posibilidad de crear objetos polimórficos con el operador new. La forma de utilizarlo, por ejemplo en java, sería:


 Superclase sup = new (Subclase);




Tomado de: http://cursos.aiu.edu/Lenguajes%20de%20Programacion%20Orientados%20a%20Objetos/PDF/Tema%204b.pdf

Ejemplo de polimorfismo en java




Tomado de: https://www.google.com.co/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwj48Z_Gl4LNAhVG6CYKHUH_D_8QjRwIBw&url=https%3A%2F%2Frahsuarez.wordpress.com%2F2011%2F12%2F09%2Fclases-y-objetos-java%2F&bvm=bv.123325700,d.eWE&psig=AFQjCNHgcAOzAMzHjVq_uwBkKCyVnOB1Ew&ust=1464710923375520



Polimorfismo en java
https://www.youtube.com/watch?v=BSw1MLEc4PQ

miércoles, 11 de mayo de 2016

Métodos y Funciones

Métodos

Un método es un grupo de instrucciones que realizan una función específica , a estas instrucciones se les añade un nombre, de manera que si se quiere ejecutar dicha instrucción solo basta con hacer una referencia con el nombre que fue llamada en vez de tener que escribirlas.

Tipos de métodos

Constructores

Es un método utilizado para la creación de objetos de la clase, este método se crea automáticamente cuando se crea el objeto.




Ejemplo en java






Destructores

Este método  es definido como un liberador de espacio de memoria utilizado para borrar un objeto de la clase.

Modificadores

Son métodos utilizados para la asignación de un valor a un atributo.



Analizadores

Son métodos usados para recuperar los valores de los atributos.



Funciones

Es un bloque dentro del código aislado del resto del programa que se encarga de calcular un valor ; una función está compuesta por parámetros, código de la función y el resultado o valor de retorno.

Ejemplo de una función en java




tomado de : http://www.esferatic.com/wp-content/uploads/factorial_java.jpg

Parámetros

Son tipos de valores que son recibidos por la función como una  entrada.

Código de la función

Son los tipos de operación que va a realizar la función.

Resultado


Como su nombre lo indica es el valor final u obtenido de las operaciones realizadas en la función.

sábado, 7 de mayo de 2016

Programacion

¿Qué es?

Es un proceso de diseño que se fundamenta en la  creación de  programas o aplicaciones que cumplan con una o muchas tareas o necesidades, que puedan presentarse en la sociedad, creado a partir de código o ya bien sea un lenguaje de programación mediante el uso de computadores, pero para el diseño de programas es fundamental tener una lógica basada en la organización y la solución de problemas y aún más importante la simplicidad, lograr convertir un problema complejo en algo simple.

¿Por qué programar?

Programar es una buena manera de crecer si es que estas interesado en crear programas que quieran cambiar el mundo, es un proceso un poco largo pero al final te darás cuenta de que es lo mejor, en la actualidad nos hemos visto dependientes de la tecnología y de alguna manera todo lo que tenemos a nuestro alrededor es programación, ya sea tecnología u otras cosas fueron creadas por métodos específicos, de tal manera que fueron creadas mediante el único objetivo de hacerte la vida más fácil.



Ciclos, Contadores y Acumuladores

Ciclos

En programación los ciclos son un conjunto de periodos de tiempo más bien conocidos como iteraciones, donde se utilizan para realizar un mismo conjunto de instrucciones hasta el punto de cumplir cierta condición, dichas instrucciones se conocen el nombre de: 

  • while
  • do-while
  • for

Contadores

Un contador es una variable que puede ir aumentando o disminuyendo cada vez que se ejecuta un proceso, se utilizan para contar los procesos internos de un ciclo. En la construcción de un contador o de muchos contadores. Se inicia con el nombre de la variable que va a ser utilizada, seguido del igual y  el numero 0  preferiblemente.

Ejemplo:        

cont=0

Los procesos internos que realiza un contador dentro de un ciclo son; el número de periodos de tiempo "iteraciones" que realiza el ciclo, como también  contar el número de veces que son cumplidas las peticiones.


Acumuladores

Un acumulador es un campo dentro de un programa que se utiliza como almacenamiento para cantidades de ciertas variables  que resultan de sumas  o restas sucesivas y estas operaciones  pueden ir en incremento o decremento dejando  de ser constante para convertirse en variables. En el proceso de creación de un  acumulador se inicia con el nombre de la variable que va a ser utilizada, seguido del igual y  el numero 0  preferiblemente.

Ejemplo:    

acom=0

Diferencia entre un contador y un acumulador:

La diferencia entre un contador acumulador es que los contadores van seguidos por incrementos constantes de tal manera que va en aumento, mientras los acumuladores van seguidos por incrementos variables pudiendo saltar de un valor a otro .

Ejemplo:

Contador 

cont=cont+1


acom=acom+var


Arreglos (Array) y Matrices

Arreglos

Los arreglos son un conjunto de variables formadas por información compuesta por un mismo tipo de datos, donde su tamaño no cambia cuando ha sido construida, a cada parte de un arreglo se le llama elemento, donde estos  se representan con un mismo nombre y se almacenan en lugares consecutivos. 

Los arreglos pueden ser unidimensionales representados como vectores o bidimensionales que son las matrices.



Matrices

Las matrices son arreglos compuestos por dos dimensiones formadas por filas y columnas, logrando ser unidimensionales o multi-dimensionales, las matrices son un tipo de estructura que se encarga de guardar datos  de un mismo tipo en forma consecutiva.