domingo, 2 de julio de 2017

¿Qué es la programación orientada objetos?

POO:
La programación orientada a objetos o también conocida como POO o OOP en sus siglas en inglés, se enfoca en los elementos de un sistema, sus atributos y las interacciones que se producen entre ellos para diseñar aplicaciones informáticas. Los elementos abstractos del modelo orientado a objetos se denominan clases.

Un programa orientado a objetos: es esencialmente una colección de objetos que se crean, interaccionan entre sí y dejan de existir cuando ya no son útiles durante la ejecución de un programa. Una aplicación informática puede llegar a ser muy compleja.
La complejidad: es más manejable cuando se descompone y se organiza en partes pequeñas y simples, los objetos.

Un programa Java utiliza clases y objetos. Las clases representan un esquema simplificado de la perteneciente de una aplicación informática. Una clase es una representación abstracta de un conjunto de objetos que comparten los mismos atributos y comportamiento, es decir, una clase describe un tipo de objetos. Un objeto es una instancia de una clase, tiene una identidad propia y un estado. La identidad de un objeto se define por su identificador. El estado de un objeto se define por el valor de sus atributos.

El comportamiento de un objeto queda determinado por el comportamiento la clase a la que pertenece. Los objetos son unidades indivisibles y disponen de mecanismos de interacción llamados métodos.

Para entender el concepto de objeto es necesario saber que existe una relación directa entre los elementos que forman parte de una aplicación informática y los objetos. Normalmente, para identificar los elementos de una aplicación, debemos fijarnos en los sustantivos que utilizamos para describir los objetos reales del sistema. Para diseñar una aplicación orientada a objetos es necesario responder las siguientes preguntas:

  • ¿Cuáles son los elementos tangibles de un sistema?
  • ¿Cuáles son sus atributos?
  • ¿Cuáles son sus responsabilidades?
  • ¿Cómo se relacionan los elementos del sistema?
  • ¿Qué objeto debe “saber”?
  • ¿Qué objeto debe “hacer”?


Por ejemplo:
Si se desea diseñar un programa Java para gestionar las ventas de una tienda, entonces habría que identificar y describir las características elementos como: cliente, tipo de cliente, producto, pedido, tipo de entrega, forma de pago, unidades en existencia de los productos,
Entre otras. Los procesos de gestión de la tienda incluirían el registro de los clientes, el registro de los productos de la tienda, el proceso de compra del cliente y la realización de los pedidos, la entrada y salida de productos del almacén, entre otras.

Ejemplo 2:

Si en vez de una tienda se trata de una aplicación para dibujar figuras geométricas en dos dimensiones, entonces sería necesario identificar y describir las características de las figuras y su posición. En este caso habría figuras de tipo círculo, rectángulo, triángulo, entre otras. Las operaciones a realizar con las figuras incluirían dibujar, borrar, mover o rotar.

¿Programar es facil?

Pues en mi experiencia programar puede ser algo difícil en el comienzo, aunque hay personas que parecen que nacieron programando, pero no te des por vencido si te gusta programar puedes que aprendas más rápido, que una persona que no le gusta, y llegar a crear grandes innovaciones que cambiaran al mundo y en especialmente a ti.

Si quieres aprender a programar no esperes a que te enseñen vas a tener que aprender a buscar por tu propia cuenta y veras que tendrás mejores resultados. Por ejemplo, yo cuando era estudiante de nivel medio superior mis maestros se ponían a explicar un tema sobre programación y empezaban con el ejemplo de un programa típico que todo programador conoce el de "Hola mundo" y después de explicar decían, yo hago lo más fácil y ustedes lo más difícil, y uno se quedaba pues si no explico casi nada. Ya cuando te dejaban tu lista de programas por hacer, obviamente salían las dudas sencillas que como aprendiz de programación salen y pues le preguntabas al maestro sobre la duda de un programa y no te sabia contestar o te decía ya se los explique para sacarse de tema, pero en fin, lo importante es que aprendí a investigar por mi propia cuenta y preguntar en foros de programadores y hay la llevo.

Cada día la programación me asido muy útil pues ya programo juegos, aplicaciones android y cualquier tema que me soliciten aunque aún me queda un gran camino por recorrer y descubrir grandes cosas.

¿Cuántos lenguajes de programación son necesarios dominar?
Ahora bien si ya sabes dominar un lenguaje de programación pues ve por un segundo y así sucesivamente ya que entre más conocimientos tengas pues más valor tendrá tu trabajo y tendrás más oportunidades de conseguir el trabajo que tú quieres y súper bien pagado, así que es tu decisión si quieres ganar mucho o poco.

¿Qué edad es recomendable empezar a programar?
Pues dicen que entre más pequeños más rápido aprenden porque se les hace muy fácil, pero en opinión, no hay edad para empezar a programar, si te gusta pues que importa lo que digan los demás lo que importa es la voluntad de superarse y descubrir un nuevo mundo de conocimientos y darte cuenta que la programación es divertida cuando te interesa.

¿Cuánto podrías ganar si sabes programar?
Pues depende del lenguaje que sepas manejar y de la empresa que esta adquiriendo tus servicios pero un programador esta mas o menos en México desde 15,000 hasta 45,000 hasta mas, pero como ya te lo dije depende que lenguaje sepas dominar y la habilidad que tienes para usarlo.

El proceso de edición y compilación en Java


¿Cuál es el proceso  de edición y compilación en el lenguaje java?

En Java se siguen estos 3 procesos:
  • Edición del código fuente
  • Compilación
  • Ejecución

Los programas Java se desarrollan y se compilan para obtener un código denominado Bytecode que es interpretado por una máquina virtual de Java
(Java Virtual Machine).

Bytecode: es el tipo de instrucciones que la máquina virtual Java espera recibir, para posteriormente ser compiladas a lenguaje de máquina, mediante un compilador JIT a la hora de su ejecución.




La edición: del programa fuente se realiza escribiendo el programa Java en un editor de texto como el Bloc de notas o utilizando un entorno integrado de desarrollo. El código fuente se almacena en un fichero de tipo .java.


La compilación: se realiza con el compilador Java javac o utilizando un entorno integrado de desarrollo. Durante el proceso de compilación se verifica que el código fuente cumple la definición léxica, sintáctica y semántica de Java. Esto quiere decir que el compilador comprueba que el código fuente se compone de palabras válidas en Java y que los comandos Java tienen la forma sintáctica correcta. Si durante el proceso de compilación el compilador detecta los errores que ha cometido el programador y le informa de los problemas que ha encontrado para que pueda corregirlos. Si durante la compilación no se detectan errores, se genera un fichero de tipo class en Bytecode. Una vez finalizado el proceso de compilación se puede ejecutar el programa. Para esto, es necesario que la máquina virtual de Java interprete el código Bytecode y ejecute la aplicación.