INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS (POO) Mtro. Manuel Suárez Gutiérrez Programación ¿Qué es un algoritmo? Describe el método para realizar una tarea. ¨ Es una secuencia de instrucciones que, ejecutadas adecuadamente, dan lugar al resultado deseado. ¨ Ejemplo de algoritmos no pertenecientes al área de programación: ¨ ¤ Planos de una casa ¤ Procedimiento de una lavadora ¤ Receta de cocina Propiedades de un Algoritmo Finitud: numero finito de pasos. ¨ Definibilidad: cada paso es definido de un modo preciso. ¨ Conjunto de entradas: Datos iniciales del algoritmo. ¨ Conjunto de salidas: Respuesta que obtenemos del algoritmo. ¨ Efectividad: Operaciones a realizar deben ser básicas para que sean más exactas y con un tiempo definido ¨ Reglas básicas de los Diagramas de Flujo Todos los símbolos han de estar conectados. ¨ A un símbolo de proceso pueden llegarle varias líneas. ¨ A un símbolo de decisión pueden llegarle varias líneas pero sólo saldrán dos. ¨ A un símbolo de inicio nunca le llegan líneas. ¨ De un símbolo de fin no parte ninguna línea. ¨ Diagrama Genérico Variables ¨ Numéricas: ¤ Enteros ¤ Punto ¨ flotante Alfanuméricas: ¤ Carácter ¤ Cadena de caracteres Operaciones ¨ Asignación: ¤ = ¨ Comparación: ¤ ¿ ¨ =? Aritméticas: ¤ + ¨ -*/^ Lógicas: ¤ >, <, = , >=, <=, <> Ejercicios: Hacer el diagrama de flujo para sumar dos números estáticos. ¨ Modificar el anterior para capturar los números desde línea de comandos. ¨ Modificar el anterior para sumar N números, el valor de N se debe leer desde teclado. ¨ Hacer un diagrama de flujo que sume 100 números. ¨ Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos Modelo de programación basado en objetos. ¨ Organiza los programas a imagen y semejanza de la organización de objetos del mundo real. ¨ ¨ Los objetos poseen: ¤ Propiedades o atributos ¤ Conjunto de métodos ¨ Un mecanismo importante de la POO, son las clases y los objetos están contenidos dentro de ellas, por eso se dice que un objeto es la instancia de una clase. Un programa orientado a objetos se compone únicamente de objetos ¨ Siendo que cada uno de ellos es una entidad que tiene propiedades particulares, atributos y métodos. ¨ Por ejemplo una página Web es un objeto, tiene color de fondo, anchura y altura, etc. (propiedades y atributos) y las rutinas que ejecuta el usuario cerrar, abrir, recorrer, etc. son los métodos. ¨ ¨ Por ejemplo una página Web es un objeto, ¤ tiene color de fondo, anchura y altura, etc. (propiedades y atributos) y ¤ las rutinas que ejecuta el usuario cerrar, abrir, recorrer, etc. (métodos). ¨ Cuando se ejecuta un programa orientado a objetos, los objetos están recibiendo, interpretando y respondiendo mensajes de otros objetos y por lo tanto ejecutando métodos asociados con el objeto. ¨ ¨ ¨ Los métodos se escriben en una clase de objetos y determinan como tiene que actuar el objeto cuando recibe el mensaje vinculado con ese método. A su vez, un método puede enviar mensajes a otros objetos solicitando una interacción con el método de otro objeto. Cuando escribimos un POO, lo que hacemos es diseñar a un conjunto de clases, desde las cuales se crearán los objetos necesarios cuando el programa se ejecute. ¨ ¨ La estructura más interna de un objeto queda oculta para los usuarios, como si fuera una caja negra, la cual mantiene la integridad del objeto, esto hace que el usuario solamente mantenga contacto con el programa a través de mensajes emitidos por el objeto. Introducción a Java • • • • • Historia Principales características de Java Procedimiento de instalación Primer programa en Java Compilación y Ejecución Historia de Java Sun Microsystems creo el lenguaje Java en un intento por resolver simultáneamente todos los problemas que se planteaban a los desarrolladores de software por la proliferación de arquitecturas incompatibles, tanto entre las diferentes maquinas como entre los diversos sistemas operativos y sistemas de ventanas que funcionan sobre una misma máquina, añadiendo la dificultad de crear aplicaciones distribuidas en una red como Internet. Java originalmente llamado “OAK”. Creado en 1991. El equipo de programadores se llamo “Green Team” Java surgió originalmente como un lenguaje de programación que permitiera romper un vacío existente entre múltiples dispositivos electrónicos de uso común. ¨ Encontró su nicho en el WWW (World Wide Web), al permitir desarrollar pequeños componentes que permitían enriquecer el contenido multimedia de las páginas web. ¨ Actividad: Deberán elaborar un cronograma de la historia de Java, en donde mencionen todas las versiones existentes de Java y la característica de cada una de ellas. Estas pequeñas aplicaciones para las páginas web son conocidas actualmente como “applets” ¨ Java es el lenguaje de programación más utilizado en el mundo. ¨ Oracle Adquirió SUN en 2010, introduciendo la versión de Java 7. ¨ Principales Características Simple Orientado a objetos Se diseño para ser parecido a C y facilitar su aprendizaje y migración de programadores. ¨ Presenta las características de un lenguaje orientado a objetos, encapsulación, herencia y polimorfismo. Las plantillas de los objetos son llamadas clases y sus copias instancias. ¨ Principales Características Distribuido Robusto En si no es distribuido, sino que proporciona las librerías y herramientas para que los programas puedan ser distribuidos para ser ejecutados en otras maquinas. ¨ Realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución . ¨ Principales Características Arquitectura neutral ¨ El compilador Java compila su código a un fichero objeto en formato independiente de la arquitectura de la máquina en que se ejecutará, por lo que cualquier maquina sin importar su S.O. que tenga el sistema de ejecución (run-time) puede ejecutar este objeto. Principales Características Seguro ¨ ¨ El código pasa por muchas comprobaciones antes de ejecutarse en una maquina, así como pasa por un verificador de ByteCode, el cual comprueba el formato de los fragmentos de código para detectar código ilegal (punteros falsos, violación de derechos de acceso, intentar cambiar el tipo de clase de un objeto). Además, cuenta con un Cargador de Clases, el cual separa los archivos locales de los procedentes de la red. En el caso de los Applets, Java imposibilita el abrir archivos locales. Principales Características Portable Interpretado Mas allá de ser una arquitectura independiente, implementa otros estándares de portabilidad para facilitar el desarrollo ¨ Su intérprete (sistema run-time), puede ejecutar directamente el código objeto, dado que enlazar un programa consume menos recursos que compilarlo. ¨ Principales Características Multitarea o Multihilo Dinámico Difundido Permite realizar muchas actividades simultáneas en un programa. ¨ No carga todos los módulos al momento de ejecución, si no que los carga conforme son requeridos. ¨ Es el lenguaje más utilizado, lo que hace que sea fácil encontrar documentación en línea, ejemplos y muchos otros recursos. ¨ Resumen Desarrollado por Sun Microsystems ¨ El equipo de programadores se llamo “Green Team” lidereado por James Gosling ¨ Orientado a objetos ¨ Basado en C/C++ ¨ Diseñado para facilitar la programación de aplicaciones web ¨ Altamente aceptado ¿QUÉ ES JAVA? ¨ Como instalar Java ¨ ¨ ¨ ¨ ¨ Descargar el JDK (Java Development Kit) de la página de Oracle Seguir las instrucciones de instalación del JDK. Configurar las variables de entorno, para esto dar clic derecho en mi PC y en la pestaña de Propiedades del Sistema dar clic Variables de entorno. Buscar la variable “Path” y le damos editar y le agregamos la siguiente línea, tener en cuenta la versión que se instala del JDK ;C:\Program Files\Java\jdk1.6.0_21\bin Buscamos la variable “Classpath”, si no está la creamos y le agregamos la siguiente línea ;C:\Program Files\Java \jdk1.6.0_21\src.zip Instalación de Java Resumen ¨ ¨ Path: Indica la carpeta en la cual se localizan los comandos para ejecutar y compilar Java Classpath: Indica la ubicación de las clases personales del usuario, así como las clases del sistema de Java Primer programa en Java ¨ La primera aplicación sencilla y simple es la de “¡Hola Mundo!”, su código es el siguiente: //Ejemplo de aplicacion Hola Mundo // public class HolaMundo{ public static void main(String args[]) { System.out.println("¡Hola Mundo!"); } } ¨ ¨ Las primeras dos líneas son comentarios se distinguen por llevar //, este comentario es de tipo orientado a línea. La línea de “public class HolaMundo” especifica al archivo fuente que se utilizara un fichero HolaMundo.class, el cual será generado al compilar y no tener ningún error en el código. ¨ El “public static void main(String[] args)”, especifica el método que el interprete Java busca para ejecutar en primer lugar. ¤ El “public” significa que el método main() puede ser llamado por cualquiera. ¤ “Static”, es una palabra clave que le dice al compilador que main() se refiere a su propia clase HolaMundo y no a ninguna instancia de la clase. ¤ “Void” significa que main() no devuelve nada. ¤ Y por último “args[]” es la declaración de un array de Strings. ¤ Se usa el método println() de la clase out que está ubicada en el paquete System. Compilación y Ejecución ¨ El compilador javac se encuentra en el directorio bin, de la carpeta donde se ubique el JDK, el cual para no tener problemas de compilación debe de estar declarado en la variable de entorno “path” del sistema operativo. ¨ Una vez creado el archivo fuente, en la línea de comandos se puede compilar con el comando: ¤ Javac ¨ En el caso del programa de Hola Mundo quedaría así: ¤ javac ¨ nombrearchivo.java HolaMundo.java Si no hay errores, el compilador creará un archivo con extensión .class en el mismo directorio donde se encuentra el archivo fuente. En caso que se muestren errores, el compilador mostrará en donde se encuentran para poder corregirlos. ¨ Para ejecutar el programa, desde la línea de comandos se escribe el comando: ¤ java ¨ nombrearchivo En el caso del programa de Hola Mundo quedaría así: ¤ java HolaMundo Ejercicios ¨ Elaborar los siguientes códigos en Java, primero hay que hacerlos en papel y después pasarlos a la computadora. ¤ Crear un programa en Java, el cual muestre en pantalla la matricula y nombre del alumno. ¤ Crear un programa en Java, el cual muestre las materias que estas cursando.