UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUÍA COMPONENTE PRÁCTICO 301403 – PROGRAMACION ORIENTADA A OBJETOS CESAR ORLANDO JIMENEZ ANGARITA (Director Nacional) Zona: Centro Bogotá Cundinamarca, Cead: José Acevedo y Gómez Enero 2013 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS 2. ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO Curso Académico Modulo Programación Orientada a Objetos Libros de la Biblioteca Virtual de Unad en Programación Orientada a Objetos Consulta de Internet Programación Orientada a Objetos Autor: Deitel y Deitel Introducción DOO con UML y los Patrones de Diseño JDBC tm, SERVLETS, JSP tm Editorial Pearson Prentice Hall Quinta Edición. David Arnow Gerald Weiss Introducción a la Programación con Java tm Actualización a la Versión 2 de Java Editorial Addison Wesley. Fcd Javier Ceballos Java 2 Curso de Programación 2 Edición Editorial Alfaomega Ra-Ma. Agustin Froute Java 2 Manual Usuario tutorial 3 Edición Editorial Alfaomega Ra-Ma 5. Herbert shildt Fundamentos de Programación Java 2 Editorial Mc Graw Hill . para conocer el lenguaje de programación JAVA. Arnow, D., Weiss, G., Introducción a la programación con JAVA, Addison wesley, 2000. Larman, C., UML y patrones, Prentice Hall, 1998. Meyer, B., Construcción de software orientado a objetos, Prentice Hall, segunda edición, 1997. Wu, T., Introducción a la programación orientada a objetos con Java, Mc Graw Hill, 2000. Joyanes, L., Programación orientada a objetos, Segunda edición, Mc Graw Hill, 1998. Grez Voss, Introducción Orientada a Objetos, Editorial Mc Graw Hill, 1994. Joyanes, L., C++ a su alcance un enfoque orientada a objetos, Editorial, Mc Graw Hill, 1994. Cesar Becerra Santamaría, C++ Una Herramienta para la Programación Orientada a Objetos, Editorial Mc Graw Hill, 1.993. Fco Javier Ceballos, Programación Orientada a Objetos con C++,Editorial Alfaomega, 1.998. Nathan Meyers, Programación JAVA en Linux, Editorial Prentice Hall, 2.000. www.lawebdelprogramador.com www.programacion.com http://www.cimat.mx/~jlabreu/CursoJava/ http://www.mindview.net/Books/TIJ http://java.sun.com/docs/books/tutorial/ http://programacion.com/java/tutoriales/ UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS 3. INDICE DE CONTENIDO Pág. 1. PRESENTACION 1 2. ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO 2 3. INDICE DE CONTENIDO 3 4. LISTADO DE TABLAS 4 5. CARACTERÍSTICAS GENERALES 5 6. DESCRIPCIÓN DE PRÁCTICAS 8 PRACTICA No. 01 – Estructuras no dinámicas Utilizando Java Eclipse 8 Ejercicios Propuestos por el tutor: 11 Ejercicios a Realizar por el Estudiante: 36 PRACTICA No. 02 – Estructuras dinámicas Utilizando Java Eclipse 37 Ejercicios Propuestos por el tutor: 40 Ejercicios a Realizar por el Estudiante: 73 PRACTICA No. 03 – Base de Datos Modelo Relacional entidad Relación Access Utilizando Java Eclipse. 74 Ejercicios Propuestos por el tutor: 76 Ejercicios a Realizar por el Estudiante: 106 PRACTICA No. 04 – Redes Encriptamiento y Desincriptamiento de un dato, Chat cliente Servidor, computacion Grafica Utilizando Java Eclipse 109 Ejercicios Propuestos por el tutor: Ejercicios a Realizar por el Estudiante: 111 119 120 7. Fuentes Documentales UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS 5. CARACTERÍSTICAS GENERALES Introducción Actualmente una de las áreas más importantes en la industria y el ámbito académico es la orientación a objetos, el curso que a continuación se relaciona tiene el nombre de Programación Orientada a Objetos el cual es teórico – práctico, de 3 créditos y hace parte de la formación profesional en el programa de Ingeniería de Sistemas. El curso está compuesto por tres unidades académicas didácticas: Unidad Uno comprende la introducción y elementos básicos de la programación orientada a objetos (POO) y las propiedades básicas de la POO aplicado con JAVA. Unidad Dos hace referencia al diseño de la estructura y comportamiento de un objeto y se inicia con los Fundamentos de la programación en el lenguaje JAVA. Unidad tres se enfocan en el trabajo con las clases, el manejo de la herencia y la extensión de las clases aplicado con JAVA. Justificación El uso de y aplicaciones de herramientas enfocadas a la POO, hacen que el profesional en Ingeniería sea capaz de diseñar y desarrollar aplicaciones que permitan dar soluciones integrales a las necesidades del medio que lo rodea utilizando un compilador de JAVA. El curso de POO le permite al estudiante desarrollar su creatividad con el animo de dar soluciones a problemas cotidianos de su trabajo, le da la capacitada de comparar la programación estructurada con la programación orientada a objetos y enfrentar los retos del cambio, le permite desarrollar su capacidad de comunicación, y su espíritu Investigativo y crítico con una lenguaje de programación orientado a objetos. Para lograr la apropiación de todo el contenido temático el estudiante aplicara en todo momento su autoformación y se apoyara en el tutor para la resolución de dudas, también se tendrán uso de herramientas tecnológicas para la interacción con los tutores y alumnos dentro de los laboratorios. Intencionalidades formativas Propósitos: Dar a conocer a los estudiantes de una forma clara los conceptos fundamentales de la Programación Orientada a Objetos en JAVA. Dar a Conocer a los estudiantes las ventajas de aplicar la Programación Orientada a Objetos ya que simplifica la construcción de programas y lo motiva para estudiar las características del lenguaje JAVA. Capacitar a los estudiantes a comprender y utilizar herramientas de Programación Orientadas a Objetos como JAVA, para el diseño de aplicaciones. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Objetivos: Que el estudiante Describa los conceptos que caracterizan al modelo Programación Orientada a Objetos Utilizando JAVA. Que el estudiante Valore en que medida las técnicas Programación Orientada a Objetos favorecen la calidad del software, analizando sobre todo cómo facilitan la reutilización y extensibilidad en JAVA. Que el estudiante entienda la importancia de trabajar Herramientas Programación Orientadas a Objetos, para el desarrollo de nuevas aplicaciones empresariales en JAVA. Que le estudiante Aprenda un lenguaje Programación Orientada a Objetos, junto a su entorno de programación. Que el estudiante aplique técnicas de programación Orientada a Objetos en JAVA. Que el estudiante identifique analice y diseñe ejemplos de aplicación en JAVA Metas: Al terminar este curso de Programación Orientada a Objetos el estudiante: Desarrollara aplicaciones teniendo en cuenta los fundamentos teóricos, y el manejo de objetos como principal elemento de Construcción de soluciones en JAVA. Tendrá la capacidad de analizar, diseñar y desarrollar software utilizando el entorno de Programación Orientada a Objetos con JAVA. Adquiera destrezas en el uso de las herramientas como el JAVA para el desarrollo de aplicaciones que den soluciones confiables y permitan mejorar procesos. Competencias: El estudiante comprende e interpreta todos los conceptos fundamentales de la Programación Orientada a Objetos, para poder analiza, diseñar, desarrollar e implantar aplicaciones más robustas y con código reutilizable con JAVA. El estudiante adquiere destrezas en el uso de procedimientos que le permitan analizar, diseñar y desarrollar aplicaciones haciendo uso de la programación Orientada a Objetos con JAVA. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS El estudiante aprende un lenguaje Programación Orientada a Objetos, junto a su entorno de programación JAVA. Denominación de practicas Práctica 01: Estructuras no dinámicas Utilizando Java Eclipse Practica 02: Estructuras dinámicas Utilizando Java Eclipse Practica 03: Base de Datos Modelo Relacional entidad Relación Access Utilizando Java Eclipse Practica 04: Redes Encriptamiento y desincriptamiento de un dato, Chat cliente Servidor Utilizando Java Eclipse Practica 05: Computación Grafica 2D y 3D Utilizando Jcreator Java Eclipse Número de horas 4 Horas por laboratorio, 4 Cinco Laboratorios, un total 16 Horas Porcentaje 25 Puntos de la plataforma Campus Virtual Curso Evaluado por SI___ proyecto Seguridad industrial NO_X_ No Ingresar Alimentos líquidos o sólidos al Laboratorio. Para que se presente algún corto circuito. No ingresar fumando al Laboratorio. Para que moleste a los compañeros. No ingresar otros aparatos electrónicos como radios, Walkman, para que no interfieran en el desarrollo del laboratorio. No Cambiar los computadores de sitio sin autorización del monitor del laboratorio. No reconfigurar los equipos de computo ya que este presta servicio a toda la comunidad unadista. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS PRACTICA No. 03 – Base de Datos Modelo Relacional entidad Relación Access con Java 2 Utilizando Java Eclipse Tipo de practica Presencial Autodirigida Remota X Porcentaje de evaluación Horas de la practica Temáticas de la práctica 25 Puntos Plataforma Campus Virtual 4 Horas Laboratorio ST 16 Horas Independientes Base de Datos Modelo Relacional entidad Relación Access con Java 2 Utilizando Java Eclipse Intencionalidades formativas Propósitos: Dar a conocer a los estudiantes de una forma clara los conceptos fundamentales de las bases de datos Trabajadas desde un lenguaje de programación Java. Enfatizar en la importancia de un modelado conceptual, utilizando el modelo entidad relación, para el análisis y diseño de una base de datos con interface con un lenguaje de programación Java. Capacitar a los estudiantes a comprender y aplicar el uso de las herramientas del Lenguaje Access o Sql para interactuar con una base de datos relacional en interface con Java. Objetivos: Que el estudiante Comprenda la importancia de los modelos Entidad Relación y Modelo Relacional para diseñar una base de datos con interface a un lenguaje de programación Java. Que el estudiante Adquiera los conocimientos básicos que le permitan crear estructuras y administrar estructuras simples de bases de datos para ingresar y modificar información con interface a un lenguaje de programación Java . Que el estudiante Conozca procedimientos que le permitan almacenar, ordenar y administrar datos almacenados en una o más tablas relacionadas con interface a un lenguaje de programación Java. Que el estudiante Aprenda el uso de expresiones matemáticas para realizar toda clase de cálculos y operaciones dentro de consultas, informes y formularios con interface a un lenguaje de programación Java. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Metas: Desarrollara modelos de bases de datos relacionales teniendo en cuenta los fundamentos teóricos, que permitan al usuario, consultar y modificar los datos almacenados, ingresar o liminar los que han dejado de ser útiles con interface a un lenguaje de programación Java. Tendrá la capacidad de realizar diseños de bases de datos enfocados a dar una solución óptima, empleando de una forma adecuada las diferentes estructuras de manejo de datos, con el fin de identificar las ventajas y desventajas y de esta forma dar la mejor solución al manejo de la información y las exigencias de los usuarios con interface a un lenguaje de programación Java. Competencias: El estudiante comprende e interpreta y conozca de una forma clara todos los conceptos fundamentales de las bases de datos, para poder desarrollar e implantar bases de datos y tener un mejor control de la información con interface a un lenguaje de programación Java. El estudiante adquiere destrezas en el uso de procedimientos que le permitan almacenar, ordenar y administrar información en una o más tablas relacionadas con interface a un lenguaje de programación Java. . Fundamentación Teórica Base de Datos Basicos Modelado de Datos Mormalizacion Descripción de la practica El estudiante debe instalar una maquina virtual y Jcretor JE en su casa, este software debe ser bajado a través de internet de la página Sum Macrosystem El estudiante debe bajar la Guía de Laboratorio para la práctica de la Plataforma campus Virtual del curso Académico de Programación Orientada a Objetos. El estudiante mediante la herramienta de copiar y pegar debe practicar los diferentes ejercicios propuestos en esta guía para que vaya adquiriendo destreza en el lenguaje de programación Java. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS El estudiante debe de estar en capacidad de investigar los diferentes códigos de java ya que todos los ejercicios que propone la guía de laboratorio están propuestos java.swing.*, o ambiente grafico y el estudiante debe tener las condiciones de pasarlo en java.io.*, o ambiente en código de línea todos los propuestos en estas. Recursos a utilizar en la práctica (Equipos / instrumentos) Computadores Modernos con buena Configuración y con software licenciado Software a utilizar en la practica Instalación de la maquina virtual e Instancian del Java Eclipse Microsoft Office Metodología Conocimiento previo para el desarrollo de la práctica. El estudiante de ver el Curso Académico de Programación Orientada a Objetos tiene que tener buenas bases de Algoritmos, Introducción a Programación, Estructura de Datos, Bases de Datos, Redes de Comunicación, Forma de trabajo: El estudiante analizara primero todo los programas propuestos por el tutor de laboratorio los cuales están analizados, diseñados y desarrollados completamente listos para que su código sea copiado y pegado en JAVA y luego ser ejecutados, luego el estudiante de haber analizado el código se enfrentara a la tarea de desarrollar una serie de programas por sí solo. Procedimiento: El Estudiante debe investigar como puede hacer estos mismos programas utilizando las librerías import java.io.* y applet Sistema de Evaluación El sistema de evaluación estará a cargo de los tutores de Laboratorio ya que ellos son autónomos de calificar bien sea en grupos o de forma individual el trabajo realizado en los laboratorios Informe o productos a entregar Los estudiantes debe entregar los ejercicios propuestos en la guía de laboratorio en java.io.*; y applet Rúbrica de evaluación UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA "UNAD" ESCUELA CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PROGRAMA INGENIERIA DE SISTEMAS Practica 03 Base de Datos Modelo Relacional Entidad Relación UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Access con Java Jcreator LE o Java Eclipse Rúbrica de Evaluación: Ítem Evaluado Valoración Baja Valoración Media Valoración Alta Estructura del Programas sin formato (0) Programas sin ejecutables (4) Programas ejecutables (8) 8 Programas No documentado (0) Programas Medio documentado (4) Programas Bien documentado (8) 8 Programa no cumple con lo sugerido (0) Programa regular con lo sugerido (4) Programa Cumple con lo sugerido (9) 9 Programa codificado en Jcreator LE Redacción y Ortografía documentación del programa Fines del programa TOTAL DE PUNTOS POSIBLES Máximo Puntaje 25 Nota: Estudiante que no se presente al componente practico en las fechas propuestas por los diferentes Cead o Ceres y que no desarrollen las guías propuestas para estos laboratorios, tendrá una nota total de CERO: (0) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Retroalimentación La retroalimentación de los diferentes productos entregados en el laboratorio serán evaluados por el tutor PlatafoRMA Campus Virtual Ejercicios Propuestos por el tutor: Guía de Laboratorio Estructuras no dinámicas utilizando el lenguaje de programación Java trabajos con java.swing.*; o ambiente grafico 1. Ejercicios Propuesto Instalacion de bse datos con JAVA Base de Datos Creada desde Acces UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Entidad Relación UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS 1. 2. 3. 4. 5. Inicio Configuración Panel de control Herramientas Administrativas Orígenes de Datos (ODBC) 6. Seleccione el botón Agregar 7. Driver to Microsoft Acces (*.mdb) 8. Seleccione el botón Finalizar UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS 9. En el campo de texto donde dice Nombre del Origen de debe escribir películas 10. En el campo de texto donde dice Descripción de debe escribir películas 11. Seleccione el botón Seleccionar 12. 13. 14. Del directorio selecione C:\video2\clases Del Nombre de base de datos video.mdb Seleccione el botón Aceptar UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS 15. 16. 17. Seleccione el botón Aceptar Ingresar JCreator Le Abrir todos los programas UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS 18. 19. 20. Compile el Video2 que es el principal Selecione el botón buil Compile file Selecione el botón buil Execute file UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Video2 import java.awt.*; import java.sql.*; public class Video2 extends Dialog { Button Bingresar,Bver,Beliminar,Bmodificar,Bsalir; Video2(String t,Frame p) { super(p,t,false); setLayout(new GridLayout(4,1)); resize(500,200); Bingresar=new Button("Ingresar"); Bver=new Button("Buscar"); Beliminar=new Button("Eliminar"); Bmodificar=new Button("Modificar"); Bsalir=new Button("Salir"); add(Bingresar); add(Bver); add(Beliminar); add(Bsalir); } public boolean action(Event e,Object o) { if(e.target==Bingresar) { Frame fre=new Frame(); ingresar ob=new ingresar("Ingresar",fre); ob.show(); } if(e.target==Bver) { Frame fre=new Frame(); consultar ob=new consultar("Consultas",fre); ob.show(); } if(e.target==Beliminar) { Frame fre=new Frame(); eliminar ob=new eliminar("Eliminar registro",fre); ob.show(); } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS if(e.target==Bsalir) { System.exit(0); } return true; } public static void main(String arg[]) { Frame fr=new Frame(); Video2 obj; obj=new Video2("Video tienda M A T R I X",fr); obj.show(); } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Consultar import java.awt.*; import java.sql.*; public class consultar extends Dialog { Button Bsalir,Blistar; CheckboxGroup grupo; Checkbox pelicula,genero,director,actores; TextArea lista; ///objetos SQL private Connection conexion; private Statement sentencia; private ResultSet resultado; private String sql; consultar(String t,Frame p) { super(p,t,false); setLayout(null); resize(700,500); grupo=new CheckboxGroup(); pelicula=new Checkbox("Peliculas",grupo,true); genero=new Checkbox("Generos",grupo,false); director=new Checkbox("Directores",grupo,false); actores=new Checkbox("Actores",grupo,false); lista=new TextArea(10,10); Bsalir=new Button("Menu principal"); Blistar=new Button("listar"); pelicula.reshape(100,50,120,25); genero.reshape(220,50,120,25); director.reshape(350,50,100,25); actores.reshape(460,50,60,25); Blistar.reshape(550,50,120,25); Bsalir.reshape(550,450,120,25); lista.reshape(20,80,650,350); add(pelicula); add(genero); add(director); add(actores); add(Blistar); add(lista); add(Bsalir); ///cargar driver ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS catch(ClassNotFoundException e) { } } public boolean action(Event e,Object o) { if(e.target==Blistar) { lista.setText(""); if(pelicula.getState()==true) { pelicula(); } if(genero.getState()==true) { genero(); } if(director.getState()==true) { director(); } if(actores.getState()==true) { actor(); } } if(e.target==Bsalir) { dispose(); hide(); } return true; } public void genero() { String c,n; try { sql="select * from genero"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); resultado=sentencia.executeQuery(sql); while(resultado.next()) { c=resultado.getString("idgenero"); n=resultado.getString("nombre"); lista.appendText(c+"-"+n+"\n"); } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS conexion.close(); } catch(SQLException e) { lista.appendText("error al listar\n"+e); } } public void director() { String c,n; try { sql="select * from director"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); resultado=sentencia.executeQuery(sql); while(resultado.next()) { c=resultado.getString("iddirector"); n=resultado.getString("nombre"); lista.appendText(c+"-"+n+"\n"); } conexion.close(); } catch(SQLException e) { lista.appendText("error al listar\n"+e); } } public void actor() { String c,n; try { sql="select * from actores"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); resultado=sentencia.executeQuery(sql); while(resultado.next()) { c=resultado.getString("idactor"); n=resultado.getString("nombre"); lista.appendText(c+"-"+n+"\n"); } conexion.close(); } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS catch(SQLException e) { lista.appendText("error al listar\n"+e); } } public void pelicula() { String c,n,y,g; try { sql="select * from pelicula"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); resultado=sentencia.executeQuery(sql); while(resultado.next()) { c=resultado.getString("idpelicula"); n=resultado.getString("nombre"); y=resultado.getString("año"); g=resultado.getString("idgenero"); lista.appendText(c+"-"+n+"-"+y+"-"+g+"\n"); } conexion.close(); } catch(SQLException e) { lista.appendText("error al listar\n"+e); } } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Eliminar import java.awt.*; import java.sql.*; public class eliminar extends Dialog { Button Bsalir,Blistar; CheckboxGroup grupo; Checkbox pelicula,genero,director,actores; Label Le; TextField Te; ///objetos SQL private Connection conexion; private Statement sentencia; private ResultSet resultado; private String sql; eliminar(String t,Frame p) { super(p,t,false); setLayout(null); resize(700,200); Te=new TextField(50); Le=new Label("Codigo"); grupo=new CheckboxGroup(); pelicula=new Checkbox("Peliculas",grupo,true); genero=new Checkbox("Generos",grupo,false); director=new Checkbox("Directores",grupo,false); actores=new Checkbox("Actores",grupo,false); Bsalir=new Button("Menu principal"); Blistar=new Button("Eliminar"); Le.reshape(100,50,50,25); Te.reshape(160,50,120,25); pelicula.reshape(100,100,120,25); genero.reshape(220,100,120,25); director.reshape(350,100,100,25); actores.reshape(460,100,60,25); Blistar.reshape(300,50,120,25); Bsalir.reshape(440,50,120,25); add(Te); add(Le); add(director); add(actores); add(Blistar); UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS add(Bsalir); ///cargar driver ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { } } public boolean action(Event e,Object o) { if(e.target==Blistar) { if(director.getState()==true) { director(); } if(actores.getState()==true) { actor(); } } if(e.target==Bsalir) { dispose(); hide(); } return true; } public void director() { String c,n; try { sql="delete from director_pelicula where iddirector='"+Te.getText()+"'"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); sentencia.executeUpdate(sql); sql="delete from director where iddirector='"+Te.getText()+"'"; sentencia.executeUpdate(sql); conexion.close(); Te.setText(""); } catch(SQLException e) { Te.setText("ERROR: "+e); UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS } } public void actor() { String c,n; try { sql="delete from actores_pelicula where idactor='"+Te.getText()+"'"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); sentencia.executeUpdate(sql); sql="delete from actores where idactor='"+Te.getText()+"'"; sentencia.executeUpdate(sql); conexion.close(); Te.setText(""); } catch(SQLException e) { Te.setText("ERROR: "+e); } } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Ingresar import java.awt.*; public class ingresar extends Dialog { Button Bingact,Binggen,Bingactp,Bingpel,Bingdirp,Bingdir,Bsalir; Frame v; ingresar(String t,Frame p) { super(p,t,false); setLayout(new GridLayout(7,1)); resize(500,220); v=new Frame(); Bingact=new Button("Actor"); Binggen=new Button("Genero"); Bingactp=new Button("Actor pelicula"); Bingpel=new Button("Pelicula"); Bingdirp=new Button("Director pelicula"); Bingdir=new Button("Director"); Bsalir=new Button("Menu principal"); add(Bingact); add(Binggen); add(Bingactp); add(Bingpel); add(Bingdirp); add(Bingdir); add(Bsalir); } public boolean action(Event e,Object o) { if(e.target==Bingact) { ingresaractor obj=new ingresaractor("Ingresar actor",v); obj.show(); } if(e.target==Bingactp) { ingresaractores obj=new ingresaractores("Ingresar actores pelicula",v); obj.show(); } if(e.target==Bingpel) { ingresarpelicual obj=new ingresarpelicual("Ingresar pelicula",v); obj.show(); } if(e.target==Binggen) { ingresargenero obj=new ingresargenero("Ingresar genero",v); obj.show(); } if(e.target==Bingdir) { UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS ingresardirector obj=new ingresardirector("Ingresar director",v); obj.show(); } if(e.target==Bingdirp) { ingresardirectorpelicual obj=new ingresardirectorpelicual("Ingresar director pelicula",v); obj.show(); } if(e.target==Bsalir) { dispose(); hide(); } return true; } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Ingresar Actor import java.awt.*; import java.sql.*; public class ingresaractor extends Dialog { Button Bingresar,Bsalir; Label Lcodigo,Lnombre; TextField Tcodigo,Tnombre; ///objetos SQL private Connection conexion; private Statement sentencia; private ResultSet resultado; private String sql; ingresaractor(String t,Frame p) { super(p,t,false); setLayout(new GridLayout(3,2)); resize(300,100); Lcodigo=new Label("Codigo"); Lnombre=new Label("Nombre"); Tcodigo=new TextField(10); Tnombre=new TextField(10); Bingresar=new Button("Ingresar"); Bsalir=new Button("Menu ingresar"); add(Lcodigo); add(Tcodigo); add(Lnombre); add(Tnombre); add(Bingresar); add(Bsalir); ///cargar driver ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { } } public boolean action(Event e,Object o) { if(e.target==Bingresar) { ingresar(); } if(e.target==Bsalir) { UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS dispose(); hide(); } return true; } public void ingresar() { try { sql="insert into actores values ('"+Tcodigo.getText()+"','"+Tnombre.getText()+"')"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); sentencia.executeUpdate(sql); conexion.close(); Tcodigo.setText(""); Tnombre.setText(""); } catch(SQLException e) { Tcodigo.setText("ERROR:"+e); Tnombre.setText("ERROR:"+e); } } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Ingresar Actores import java.awt.*; import java.sql.*; public class ingresaractores extends Dialog { Button Bingresar,Bsalir; Label Lcodigo,Lnombre; TextField Tcodigo,Tnombre; ///objetos SQL private Connection conexion; private Statement sentencia; private ResultSet resultado; private String sql; ingresaractores(String t,Frame p) { super(p,t,false); setLayout(new GridLayout(3,2)); resize(300,100); Lcodigo=new Label("Codigo pelicula"); Lnombre=new Label("Codigo actor"); Tcodigo=new TextField(10); Tnombre=new TextField(10); Bingresar=new Button("Ingresar"); Bsalir=new Button("Menu ingresar"); add(Lcodigo); add(Tcodigo); add(Lnombre); add(Tnombre); add(Bingresar); add(Bsalir); ///cargar driver ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { } } public boolean action(Event e,Object o) { if(e.target==Bingresar) { ingresar(); } if(e.target==Bsalir) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS { dispose(); hide(); } return true; } public void ingresar() { try { sql="insert into actores_pelicula values ('"+Tcodigo.getText()+"','"+Tnombre.getText()+"')"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); sentencia.executeUpdate(sql); conexion.close(); Tcodigo.setText(""); Tnombre.setText(""); } catch(SQLException e) { Tcodigo.setText("ERROR:"+e); Tnombre.setText("ERROR:"+e); } } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Ingresar Director import java.awt.*; import java.sql.*; public class ingresardirector extends Dialog { Button Bingresar,Bsalir; Label Lcodigo,Lnombre; TextField Tcodigo,Tnombre; ///objetos SQL private Connection conexion; private Statement sentencia; private ResultSet resultado; private String sql; ingresardirector(String t,Frame p) { super(p,t,false); setLayout(new GridLayout(3,2)); resize(300,100); Lcodigo=new Label("Codigo"); Lnombre=new Label("Nombre"); Tcodigo=new TextField(10); Tnombre=new TextField(10); Bingresar=new Button("Ingresar"); Bsalir=new Button("Menu ingresar"); add(Lcodigo); add(Tcodigo); add(Lnombre); add(Tnombre); add(Bingresar); add(Bsalir); ///cargar driver ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { } } public boolean action(Event e,Object o) { if(e.target==Bingresar) { ingresar(); UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS } if(e.target==Bsalir) { dispose(); hide(); } return true; } public void ingresar() { try { sql="insert into director values ('"+Tcodigo.getText()+"','"+Tnombre.getText()+"')"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); sentencia.executeUpdate(sql); conexion.close(); Tcodigo.setText(""); Tnombre.setText(""); } catch(SQLException e) { Tcodigo.setText("ERROR:"+e); Tnombre.setText("ERROR:"+e); } } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Ingresar Director de Peliculas import java.awt.*; import java.sql.*; public class ingresardirectorpelicual extends Dialog { Button Bingresar,Bsalir; Label Lcodigo,Lnombre; TextField Tcodigo,Tnombre; ///objetos SQL private Connection conexion; private Statement sentencia; private ResultSet resultado; private String sql; ingresardirectorpelicual(String t,Frame p) { super(p,t,false); setLayout(new GridLayout(3,2)); resize(300,100); Lcodigo=new Label("Codigo director"); Lnombre=new Label("Codigo pelicula"); Tcodigo=new TextField(10); Tnombre=new TextField(10); Bingresar=new Button("Ingresar"); Bsalir=new Button("Menu ingresar"); add(Lcodigo); add(Tcodigo); add(Lnombre); add(Tnombre); add(Bingresar); add(Bsalir); ///cargar driver ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { } } public boolean action(Event e,Object o) { if(e.target==Bingresar) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS { ingresar(); } if(e.target==Bsalir) { dispose(); hide(); } return true; } public void ingresar() { try { sql="insert into director_pelicula values ('"+Tcodigo.getText()+"','"+Tnombre.getText()+"')"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); sentencia.executeUpdate(sql); conexion.close(); Tcodigo.setText(""); Tnombre.setText(""); } catch(SQLException e) { Tcodigo.setText("ERROR:"+e); Tnombre.setText("ERROR:"+e); } } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Ingresar Genero import java.awt.*; import java.sql.*; public class ingresargenero extends Dialog { Button Bingresar,Bsalir; Label Lcodigo,Lnombre; TextField Tcodigo,Tnombre; ///objetos SQL private Connection conexion; private Statement sentencia; private ResultSet resultado; private String sql; ingresargenero(String t,Frame p) { super(p,t,false); setLayout(new GridLayout(3,2)); resize(300,100); Lcodigo=new Label("Codigo"); Lnombre=new Label("Nombre"); Tcodigo=new TextField(10); Tnombre=new TextField(10); Bingresar=new Button("Ingresar"); Bsalir=new Button("Menu ingresar"); add(Lcodigo); add(Tcodigo); add(Lnombre); add(Tnombre); add(Bingresar); add(Bsalir); ///cargar driver ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { } } public boolean action(Event e,Object o) { if(e.target==Bingresar) { ingresar(); } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS if(e.target==Bsalir) { dispose(); hide(); } return true; } public void ingresar() { try { sql="insert into genero values ('"+Tcodigo.getText()+"','"+Tnombre.getText()+"')"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); sentencia.executeUpdate(sql); conexion.close(); Tcodigo.setText(""); Tnombre.setText(""); } catch(SQLException e) { Tcodigo.setText("ERROR:"+e); Tnombre.setText("ERROR:"+e); } } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Ingresar Pelicula import java.awt.*; import java.sql.*; public class ingresarpelicual extends Dialog { Button Bingresar,Bsalir; Label Lcodigo,Lnombre,Lyear,Lgenero; TextField Tcodigo,Tnombre,Tyear,Tgenero; ///objetos SQL private Connection conexion; private Statement sentencia; private ResultSet resultado; private String sql; ingresarpelicual(String t,Frame p) { super(p,t,false); setLayout(new GridLayout(5,2)); resize(300,150); Lcodigo=new Label("Codigo"); Lnombre=new Label("Nombre"); Lyear=new Label("Año"); Lgenero=new Label("Codigo genero"); Tcodigo=new TextField(10); Tnombre=new TextField(10); Tyear=new TextField(10); Tgenero=new TextField(10); Bingresar=new Button("Ingresar"); Bsalir=new Button("Menu ingresar"); add(Lcodigo); add(Tcodigo); add(Lnombre); add(Tnombre); add(Lyear); add(Tyear); add(Lgenero); add(Tgenero); add(Bingresar); add(Bsalir); ///cargar driver ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS } } public boolean action(Event e,Object o) { if(e.target==Bingresar) { ingresar(); } if(e.target==Bsalir) { dispose(); hide(); } return true; } public void ingresar() { try { sql="insert into pelicula values ('"+Tcodigo.getText()+"','"+Tnombre.getText()+"','"+Tyear.getText()+"','"+Tgenero.getText()+"','0')"; conexion=DriverManager.getConnection("jdbc:odbc:peliculas"); sentencia=conexion.createStatement(); sentencia.executeUpdate(sql); conexion.close(); Tcodigo.setText(""); Tnombre.setText(""); Tyear.setText(""); Tgenero.setText(""); } catch(SQLException e) { Tcodigo.setText("ERROR:"+e); Tnombre.setText("ERROR:"+e); } } } UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Ejercicios a Realizar por el Estudiante: El estudiante después de adquirir destreza y conocimiento acerca de lenguaje de programación JAVA debe realizar el siguiente ejemplo con base de datos teniendo en cuenta la consulta, eliminar. Modificar, consultar y hacer conexión msql. Puede ser de la siguiente base de datos u otra base de datos que quiera el estudiante, tiene que realizar un tutorial en Word con el nombre de todos los integantes del grupo y evidenciando la instalación de la base de datos, las tablas deben estar completamente cargadas con la información correspondiente para realizar pruebas. Base de Datos Creada desde Acces UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS Entidad Relacion UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS 7. FUENTES DOCUMENTALES Curso Académico Modulo Programación Orientada a Objetos Libros de la Biblioteca Virtual de Unad en Programación Orientada a Objetos Consulta de Internet Programación Orientada a Objetos Autor: Deitel y Deitel Introducción DOO con UML y los Patrones de Diseño JDBC tm, SERVLETS, JSP tm Editorial Pearson Prentice Hall Quinta Edición. David Arnow Gerald Weiss Introducción a la Programación con Java tm Actualización a la Versión 2 de Java Editorial Addison Wesley. Fcd Javier Ceballos Java 2 Curso de Programación 2 Edición Editorial Alfaomega Ra-Ma. Agustin Froute Java 2 Manual Usuario tutorial 3 Edición Editorial Alfaomega Ra-Ma 5. Herbert shildt Fundamentos de Programación Java 2 Editorial Mc Graw Hill . para conocer el lenguaje de programación JAVA. Arnow, D., Weiss, G., Introducción a la programación con JAVA, Addison wesley, 2000. Larman, C., UML y patrones, Prentice Hall, 1998. Meyer, B., Construcción de software orientado a objetos, Prentice Hall, segunda edición, 1997. Wu, T., Introducción a la programación orientada a objetos con Java, Mc Graw Hill, 2000. Joyanes, L., Programación orientada a objetos, Segunda edición, Mc Graw Hill, 1998. Grez Voss, Introducción Orientada a Objetos, Editorial Mc Graw Hill, 1994. Joyanes, L., C++ a su alcance un enfoque orientada a objetos, Editorial, Mc Graw Hill, 1994. Cesar Becerra Santamaría, C++ Una Herramienta para la Programación Orientada a Objetos, Editorial Mc Graw Hill, 1.993. Fco Javier Ceballos, Programación Orientada a Objetos con C++,Editorial Alfaomega, 1.998. Nathan Meyers, Programación JAVA en Linux, Editorial Prentice Hall, 2.000. www.lawebdelprogramador.com www.programacion.com http://www.cimat.mx/~jlabreu/CursoJava/ http://www.mindview.net/Books/TIJ http://java.sun.com/docs/books/tutorial/ http://programacion.com/java/tutoriales/ UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS