Documente Academic
Documente Profesional
Documente Cultură
Java
Introducción
Introducción
• Desarrollo de microprocesadores contribuyeron
• Desarrollo del computador personal
• Dispositivos electrónicos inteligentes
• Sun Microsystems
• 1991 creación de proyecto Green que dio como resultado un lenguaje basado
en C++-
• James Gosling lo llamo Oak y luego paso a llamarse Java.
• Anticipado a la época de la popularidad de los dispositivos inteligentes.
Introducción
• 1993 World Wide Web exploto en popularidad y se vio el potencial de usar Java
para agregar contenido dinámico como interactividad y animaciones en paginas
web.
• Los atributos del objeto (estado) y lo que el objeto puede hacer (comportamiento) están expresados por las
variables y los métodos que componen el objeto respectivamente.
• Atributos:
• Velocidad frenar
• Recorrido
velocidad
• Marcha acelerar recorrido
marcha
• Métodos:
• Acelerar cambiar
• Frenar Velocidad
• Cambiar velocidad
El modelo Orientado a Objetos
• Esta representación del objeto muestra las variables miembro en el núcleo
o centro del objeto y los métodos rodeando el núcleo y protegiéndolo de
otros objetos del programa.
• Una clase es una plantilla que define las variables y los métodos que
son comunes para todos los objetos de un cierto tipo.
Ejemplos de objetos de la clase carro
frenar
velocidad
acelerar Recorrido
marcha
• Sinónimos:
• Vector
• Tabla
• Matriz
Arreglos
Definición
Arreglos
Clasificación
• Unidimensionales o vectores
• Almacenar datos indicando un índice.
• Ej.: num[i];
• Bidimensionales o matrices
• Almacenar datos en forma de una matriz.
• Acceder a cada posición de un elemento mediante 2 índices.
• Ejm: m[i][j].
• Multidimensionales
• Arreglos que tienen más de dos dimensiones.
• Por cada dimensión del arreglo se tiene que utilizar un índice para ubicar
exactamente a un elemento en particular.
Arreglos
• Son objetos que ocupan espacio en memoria por lo cual son creados por la
palabra clave new
• Crear un arreglo
• Especificar el tipo de dato del arreglo
• El numero de elementos que formaran parte de el
• Es una forma de abstracción que consiste en crear una nueva clase en base a otra
así agrupamos clases similares y a la vez mantenemos sus diferencias.
• Absorbiendo los miembros
• Creando y modificando nuevas habilidades
• Es diferente a la relación de composición que esta representada por la relación “tiene un”
• Un objeto contiene referencia a otros objetos
• Un jugador tiene una mano de fichas
• La bolsa de fichas en el scrubble tiene 100 fichas
Relación de herencia
• Superclase (general): Cuadrilátero
• Subclases (específico): Cuadrado, Rectángulo, Rombo, etc.
• Una clase que implementa una interfaz debe definir todos los
métodos declarados en la interfaz
• Por ejemplo, si creamos una clase de tipo ventana, es decir nuestra clase
hereda de la clase Jframe y queremos manejar eventos dentro de la misma
clase, como usamos un WindowAdapter si no se puede heredar de varias
clases a la vez?
• La multiple herencia en Java no se permite
• Las clases anónimas internas pueden hacer el codigo mas facil de leer
porque la clase se define donde es referenciada
• Byte-based streams
• Streams usados para entrada y salidas de bytes
• Character-based streams
• Streams usados para entrada y salida de caracteres
Manejo de archivos
Files y Streams
• Java asocia streams con diferentes dispositivos
• System.in
• Para capturar datos a partir de la entrada estándar - teclado
• System.out
• Para mostrar datos a través de la salida estándar - pantalla
• System.error
• Para mostrar mensajes de error en la pantalla
• System
• setIn, setOut, setErr
Manejo de archivos
Files y Streams
• Java.io contiene el conjunto de clases para procesar archivos
• FileInputStream
• Lectura de archivos binarios
• Extiende de la clase InputStream
• FileOutputStream
• Escritura de archivos binarios
• Extiende de la clase OutputStream
• FileReader
• Lectura de archivos texto
• Extiende de la case Reader
• FileWriter
• Escritura de archivos texto
• Extiende de la clase Writer
Clase File
• Usada para recuperar informacion acerca de archivos y directorios
• No abre ni procesa archivos
• Se usa en combinación con clases que procesan archivos
• container.setLayout(new BorderLayout());
• container.add(table.getTableHeader(), BorderLayout.PAGE_START);
• container.add(table, BorderLayout.CENTER);
JTable
Selección
Operación Evento de mouse Evento de teclado
Selección de una sola fila Clic Flecha Arriba o Flecha Abajo
Selección de múltiples filas SHIFT + Clic o arrastrar mouse SHIFT + Flecha Arriba o SHIFT +
continuas sobre las filas Flecha abajo
Agregar una fila a las ya CTRL + Clic CTRL + Flecha Arriba o CTRL +
seleccionadas Flecha Abajo
• ListSelectionModel:
• MULTIPLE_INTERVAL_SELECTION
• SINGLE_INTERVAL_SELECTION
• SINGLE_SELECTION.
• Selección
• Fila (rowSelectionAllowed )
• Columna (columnSelectionAllowed )
• Celda (cellSelectionEnabled)
JTable
Selección
JTable
Cambios en datos
JTable
Cambios en datos
Method Change
fireTableCellUpdated Update of specified cell.
fireTableRowsUpdated Update of specified rows
Update of entire table
fireTableDataChanged
(data only).
fireTableRowsInserted New rows inserted.
fireTableRowsDeleted Existing rows Deleted
fireTableStructureChang Invalidate entire table,
ed both data and structure.
Hilos
Introducción
• Un proceso es un programa ejecutándose dentro de su propio espacio de
direcciones.
• Interface Runnable
• Proporciona la capacidad de añadir la funcionalidad de un hilo a una clase, sin
heredar de la clase Thread.
• El método a implementar en la interface es el método run
Hilos
Creación y ejecución
• Clase ThreadGroup
• Usada para manejar un grupo de hilos de modo conjunto.
• métodos stop, suspend y resume
• Los grupos de hilos también pueden contener otros grupos de hilos permitiendo una
jerarquía anidada de hilos. Los hilos individuales tienen acceso al grupo pero no al
padre del grupo.
• Clase Object
• No es una clase de apoyo a los hilos pero proporciona métodos cruciales dentro de la
arquitectura multihilo de Java.
• wait: El hilo de ejecución espere en estado dormido hasta que se le notifique que
continúe
• notify: Informa a un hilo en espera de que continúe con su ejecución
• notifyAll: Igual que notify pero se aplica a todos los hilos en espera.
Hilos
Creación y ejecución
Hilos
Creación y ejecución
CONEXIÓN A BASES DE
DATOS MYSQL
MySQL 5.0 Community Edition
MySQL Connector/J
• Base de datos open-source database
• Crear el usuario “java” con clave de acceso “java”, otorgar los permisos y salir
MySQL
Creando base de datos
• Ingresar con el usuario “java”
• Esquema conectado
• Se conecta una sola vez y asi permanece hasta que la aplicación termina la conexión
• javax.sql.rowset.JdbcRowSet
• Esquema desconectado
• Se conecta a la base de datos, ejecuta una consulta para recuperar datos y se
desconecta.
• Datos modificados se pueden actualizar en la base de datos restableciendo la
conexión con la base de datos.
• javax.sql.rowset.CachedRowSet
Usando base de datos con JDBC
Interface RowSet
Usando base de datos con JDBC
Usando base de datos con JDBC
Usando base de datos con JDBC
Usando base de datos con JDBC
Java Persistence API (JPA)
• API de persistencia desarrollada para la plataforma Java EE
• Framework para manejar datos relacionales en aplicaciones (J2SE y J2EE)
• Objetivos
• Evitar la perdida de las ventajas de la orientación a objetos al interactuar con una
base de datos
• Permitir usar objetos regulares (conocidos como POJOs).
Java Persistence API (JPA)
• Java soluciona problemas de negocio a través de objetos
• Anotacion @Entity
• Información para el proveedor de
persistencia
• Cada instancia de esta clase es una entidad.