CS-434: Programación Orientada a Objetos usando Java Semana 1 Dr. Jesús Borrego Adjunct Faculty Regis University
Temas 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 Ubicado: Casado, 5 hijos 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
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
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
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
Método de Evaluación Tareas 1-3 15% Tareas 4-7 40% Tarea 8 10% Total 78% PRIMER EXAMEN 7% EXAMEN FINAL 10% PARTICIPACION 5% TOTALS 100%
Acerca de sus compañeros: 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
Vocabulario Clave 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
NetBeans https://netbeans.org
SwingSet3 Ejemplo
Referencias
Obtener el compilador
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
Historia de Java Inventado por Sun Microsystems (1991- 1992) – James Gosling Disponible en la mayoria de los ambientes de computadoras Consiste en 4 ediciones: 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
Bytecode y object code Object code – Código de objeto – diferente para cada arquitectura
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
Relaciones de ambientes
Hello, World C++: Java: #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"); } }
Hello World en NetBeans
Crear un proyecto en NetBeans Seleccionar New Project, Categories a Java y Proyecto a Java Application
Crear un proyecto en NetBeans Clic Next Seleccione el nombre del proyecto y el directorio La clase main es creada por defect Clic Finish
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
Esqueleto del proyecto
Ejemplo
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 -)
Declarando variables 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;
Estructuras de control Similares a C++
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 }
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
Definiendo métodos Tipo de retorno del método Nombre del método Lista de parámetros (opcional) returntype methodName(optional_list_of_arguments) { … }
UML
Ejemplos de clases
En código:
Creando objetos Book book1 = new Book(); Book book2 = new Book(“SomeTitle”, “SomeAuthor”, false);
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 {…}
Clase Objeto Tiene método: Como Book extiende Object: Por herencia boolean equals(Object obj) Como Book extiende Object: boolean areEqual = book1.equals(book2); Por herencia
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”;
Clases definidas por aplicaciones Podemos crear clases para nuestras aplicaciones Por ejemplo, podemos crear una clase llamada Login para nuestra biblioteca
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)
Proceso Unido - Unified Process (UP)
Diagrama de caso de uso
Diagramas de clase
Diagramas de clase
Diagramas de clase
Clases con Atributos
Clases con Atributos
Clases con Operaciones
Diagrama de secuencia
Diagrama de secuencia
Diagrama de Actividad
Diagrama de Actividad
Diagrama de Composición
Diagrama de Clase
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
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)
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
¿Preguntas? Email to jborrego@regis.edu