Download ABET - Faculty Web Sites
Document related concepts
no text concepts found
Transcript
CS-434: Programación Orientada a Objetos usando Java Semana 1 Dr. Jesús Borrego Adjunct Faculty Regis University 1 scis.regis.edu ● scis@regis.edu Temas • • • • • • • 2 Instructor Guía del curso Instalación de NetBeans Introducción de Java Programas de ejemplo Siguientes clases Tarea #1 Instructor Dr. Jesús Borrego Educación ◦ PhD MIS; MS CS; BS CS; BS EE Ubicado: ◦ Colorado Springs Casado, 5 hijos Maestro desde 1989, a nivel de Asociado, Licenciado y Maestría En Regis U. desde 1995 3 Introducción • Prerequisitos ▫ CS 362 – experiencia en programación con C++ y enfasis en estructuras de datos ▫ CS208 – conceptos fundamentales de ciencias de computación ▫ Acceso a computadora personal ▫ Sistema ambiental NetBeans 4 Materiales de instrucción • Libro de texto • Bravaco, R & Simonson, S. (2010) Java Programming: From the Ground Up. (1st). New York, NY: McGraw-Hill. ISBN13: 978-0-07-352335-4 or ISBN10: 0073523356. • Compilador Java • NetBeans – https://netbeans.org • NetBeans y Java SDK: http://www.oracle.com/technetwork/java/javase/downlo ads/index.html 5 Guia de Curso • Página Web: http://academic.regis.edu/jborrego • Se obtiene por: http://academic.regis.edu/jborrego/cs_434.html • El curso continúa los conceptos de programación cubiertos en estructuras de control y de la ingeniería moderna de software 6 Método de Evaluación Tareas 1-3 Tareas 4-7 Tarea 8 Tarea 9 Tarea 10 Total PRIMER EXAMEN EXAMEN FINAL PARTICIPACION TOTALS 7 15% 40% 10% 3% 10% 78% 7% 10% 5% 100% Acerca de sus compañeros: • • • • • • 8 Nombre Carrera que cursan Donde trabajan Donde viven Experiencia en programación ¿Que esperan de el curso? Estándar de código • • • • • Será revisados Descripción completa en la página del curso Comentarios se requieren Indentar apropiadamente Espacio en blanco (espacios, líneas en blanco, indentación) • Constantes globales en vez de valores en el código • ApellidoNombre_PgmX.java 9 Vocabulario Clave • • • • • • • • • 10 Compiler – compilador Hard coded variable – valor usado en vez de constante I/O stream – flujo de entradas y salidas Linker – enlazador Object code – código objeto Server – ordenador, servidor, estación de trabajo Source code – código fuente Syntax and semantics – sintaxis y semántica Whitespace – líneas en blanco, espacio, indentar Instalación del compilador • Para obtenerlo: http://www.oracle.com/technetwork/java/javase/downlo ads/index.html O https://netbeans.org 11 NetBeans https://netbeans.org 12 SwingSet3 Ejemplo 13 Referencias 14 Obtener el compilador 15 Proyecto de Grupo • • • • Será implementado cada semana Utilizará objectos gráficos Empleará conceptos orientados a objetos Primera parte (individual): ▫ Crear un diagrama de caso de uso para in sistema de biblioteca ▫ Incluirá actores, casos de uso y relaciones entre los usuarios y los casos de uso ▫ De preferencia, utilizen Visio 16 Historia de Java • Inventado por Sun Microsystems (19911992) – James Gosling • Disponible en la mayoria de los ambientes de computadoras • Consiste en 4 ediciones: ▫ ▫ ▫ ▫ 17 JSE – Java Standard Edition (desktop) JEE – Java Enterprise Edition (Web) JME – Java Micro Edition (smart devices) Java Card – tarjetas de memoria Plataforma Java • Java Bytecode – resultado de compilar un programa de Java. No es igual a ‘object code’ • Java Virtual Machine – Máquina virtual de Java. Ejecuta bytecode en cualquier sistema 18 Bytecode y object code • Object code – Código de objeto – diferente para cada arquitectura 19 Ambientes de Java • Java Virtual Machine – una aplicación que permite ejecutar programas de Java • Java Runtime Environment – ambiente de ejecución de Java: bibliotecas que proporcionan la interfaz de programas de Java. Contiene el JVM • Java Software Development Kit – herramientas que permiten compilar, decompilar programas de Java. Contiene el JVM 20 Relaciones de ambientes 21 Hello, World C++: #include <iostream> #include <string> using namespace std; int main() { cout << "Hello, World!" << endl; system("PAUSE"); return 0; } Java: public class HelloWorld { public static void main (String[] args) { System.out.println("Hello World"); } } 22 Hello World en NetBeans 23 Crear un proyecto en NetBeans • Seleccionar New Project, Categories a Java y Proyecto a Java Application 24 Crear un proyecto en NetBeans • Clic Next • Seleccione el nombre del proyecto y el directorio • La clase main es creada por defect • Clic Finish 25 Crear un proyecto en NetBeans • Tenemos un esqueleto del proyecto con el nombre, paquete del programa y bibliotecas • En el lado derecho, se nota el esqueleto del paquete • Podemos agregar nuestro programa dentro de main 26 Esqueleto del proyecto 27 Ejemplo 28 Tipos de datos primitivos • • • • • • Boolean (1 bit): true, false char (2 bytes): Unicode, 0 a 65,535 byte (1 byte): -128 a 127 short (2 bytes): -32,768 a 32,767 int (4 bytes): -2,147,483,648 a 2,147,483,647 long (8 bytes): -9,223,372,036,854,775,808 a +9,223,372,036,854,775,807 • float (4 bytes): 1.40129846432481707e-45 a 3.40282346638528860e+38 (+ o -) • double (8 bytes): 4.94065645841246544e-324d a1.79769313486231570e+308d (+ o -) 29 Declarando variables • • • • • • • • 30 char c = ‘a’; Boolean succeeded = false; byte age = 0; short index = 0; int ssn = 0; long length = 0; float pi = 3.14159f; double d = 0.0; Constantes en Java • Constantes son variables que no cambian de valor • Declaración es similar a declarar una variable, pero se incluye’final’ antes de la declaración final float pi = 3.14159f; 31 Estructuras de control • Similares a C++ 32 Conceptos de OO • Clase: Un patrón (template) que describe las propiedades y comportamiento de un prototipo de objeto • Cuando el programa ejecuta, crea instancias individuales de clases llamadas objetos • Ejemplo: public class SomeClassName { // propiedades y comportamiento de la clase //se incluyen aqui } 33 Métodos • Métodos modularizan un programa y separan las tareas en unidades completas • Instrucciones en el cuerpo del método ▫ Se escribe una vez ▫ Se oculta a otros métodos ▫ Se puede utilizar en varias partes en los programas • Dividir y conquistar ▫ Constru 161r programas de piezas pequeñas y simples • Reuso de Software ▫ Métodos disponibles se usan para crear programas nuevos • Dividir un programa en métodos significativos permite crear programas que son fáciles de crear y mantener 34 Definiendo métodos • Tipo de retorno del método • Nombre del método • Lista de parámetros (opcional) returntype methodName(optional_list_of_arguments) { … } 35 UML 36 Ejemplos de clases 37 En código: 38 Creando objetos Book book1 = new Book(); Book book2 = new Book(“SomeTitle”, “SomeAuthor”, false); 39 Clased predefinidas de Java • Object – Objeto ▫ Clase básica de todas las clases de Java • Las siguientes definiciones son equivalentes: public class Book {…} public class Book extends Object {…} 40 Clase Objeto • Tiene método: boolean equals(Object obj) • Como Book extiende Object: boolean areEqual = book1.equals(book2); • Por herencia 41 String s1 = new String(“Hello World”); Clase String String s1 = new String(“Hello World”); String s2 = “Hello World”; (s1 == s2); // falso (s2 == s3); // falso (Compara referencias, no contenido) s1.equals(s2); //verdadero • String s3 = “Hello “ + “World”; 42 Clases definidas por aplicaciones • Podemos crear clases para nuestras aplicaciones • Por ejemplo, podemos crear una clase llamada Login para nuestra biblioteca 43 Clase Login • Dos miembros: username y password • -: privado, + público • No se declaró el constructor Java proporciona uno por defecto • Hay métodos da/pon (getter/setter, accessor/mutator) 44 Proceso Unido - Unified Process (UP) 45 Diagrama de caso de uso 46 Diagramas de clase 47 Diagramas de clase 48 Diagramas de clase 49 Clases con Atributos 50 Clases con Atributos 51 Clases con Operaciones 52 Diagrama de secuencia 53 Diagrama de secuencia 54 Diagrama de Actividad 55 Diagrama de Actividad 56 Diagrama de Composición 57 Diagrama de Clase 58 Información de contacto • Si desean mantener contacto con sus compañeros, escriban su nombre, número de teléfono y correo electrónico en la página • Si no desean participar, no se les proporcionará la copia • Proveer la información es voluntaria 59 Tarea 1 ▫ Crear un diagrama de caso de uso para in sistema de biblioteca ▫ Incluirá actores, casos de uso y relaciones entre los usuarios y los casos de uso ▫ De preferencia, utilizen Visio ▫ Mas detalles en WorldClass y en la pagina Web (Case Study_Library Application) 60 Tarea 2 ▫ Implementar el programa Hello World en NetBeans ▫ Capturar las pantallas donde muestran el paquete y el resultado ▫ Entregar a WorldClass antes de la semana 2 61 ¿Preguntas? • Email to jborrego@regis.edu 62