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 ● [email protected]
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
[email protected]
62