BBDD&POO
Bases de Datos y
Programación Orientada a Objetos.
Máster Universitario en Modelización e Investigación Matemática, Estadística y Computación
Curso: 2024/25.
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N no lectivo, N fiesta, N estudio, N exámenes, NN POO, (NN BBDD). |
Dadas las características de este curso (la limitación del número de horas y encontrarse asociado "de algún modo" a las Bases de Datos)
El enfoque va a ser diferente al clásico para el aprendizaje desde cero de los conceptos de la Orientación a Objetos, que sería básicamente
aprender un lenguaje "ordenadamente". Vamos a plantear un par de casos generales a resolver con Orientación a Objetos que pueden ser de interés.
Usaremos un lenguaje adecuado (Java) pero con un cierto (des)orden ligado a los casos planteados.
Esta manera de proceder, sin serlo exactamente (porque deberámos plantear muchos casos más simples), podemos aproximarla lo que se conoce como
"problem solving"... podemos mencionar a Elon Musk, ya que está de moda ahora, como un defensor destacado del mismo: lo explicaba en
este video.
Pensando en el uso de la programación con Orientación a Objetos en relación con el manejo de bases de datos (BBDDs) en ciencia y tecnología, vamos a plantear dos casos: la construcción de interfaces gráficos (GUIs - Graphic User Interface) específicos para acceso a BBDDs, y el procesamiento de datos en bruto para adaptarlos a los requerimientos de una BBDD:
Ejercicios propuestos (pendientes de enunciados cocretos)
Noviembre
Introducción: planteamiento del curso basado en el desarrollo de dos casos. Herramientas a utilizar. Inicio del desarrollo del caso 1, con introducción de los conceptos de Clase y Objeto, Herencia, polimorfismo, etc.
Hemos visto cómo descargar las herramientas. Hemos echado un vistazo a la demo de Swing y comenzado a usar Netbeans para poner componentes en un JFrame y entender clase como "tipo complejo con estado y comportamiento". Para esto hemos hablado también de la biblioteca, los paquetes y los espacios de nombres, así como de la documentación y su generación con javadoc.
El objetivo para hoy es entender la estructura de componentes para construir un GUI y de ese modo entender la herencia y otros elementos propios de la Orientación a Objetos.
Para diseñar el JFrame nos ayudamos de este material:
Generar un nuevo proyecto con Netbeans [5 min.]
Iniciar un GUI con Netbeans [8 min.]
Emplazamiento de componentes en GUIs [pdf]
How to Use Various Layout Managers
Componentes gráficos para el GUI [24 min.] ← herencia
Layout managers [27 min.]
Hemos hecho lo previsto quedando en una vista rápida de las clases y los métodos abstractos.
El objetivo para hoy es revisar la idea de clase abstracta para pasar a ver Interface y con todo ello hablar de polimorfismo. Esto nos permite ver el patrón observador y su uso en la atención a los elementos de un GUI. Con ello empezaremos a hacer una aplicación que enviará queries a una base de datos,y esto nos irá llevando a estudiar otros conceptos.
Para "dar vida" a nuestro GUI nos ayudamos de estos materiales:
Comunicación entre componentes de AWT y Swing [pdf]
donde vemos el patrón "Delegation Event Model" ("Observer")
(Patrones en Wikipedia)
Interacción con el GUI [32 min.] ← uso del polimorfismo
Hemos hecho lo previsto, hasta el punto en que hemos preparado el GUI de la aplicación con todos sus componentes.
Hecho el interfaz gráfico, escribiremos el resto de la aplicación. Para ello hay que ver conceptos generales de Java
Dejamos un momento la aplicación, no sin antes definir un espacio de nombres y separar en dos clases el GUI y el arranque.
Hemos retocado la aplicación y hemos visto casi todo lo referente a elementos no orientados a objetos (nos falta break, return y ejemplos)
Diciembre
Veremos lo poco que falta del dia anterior, y pasaremos a ver todo lo que nos falta en relación a orientación a objetos.
Hemos visto los elementos previstos, a falta de ver la posibilidad de arrojar excepciones fuera de los métodos y generar las que necesitemos.
Ah! y no estaba previsto, pero comentaremos la existencia de las enumeraciones.
Veremos lo poco que falta del dia anterior, y pasaremos a continuar con el desarrollo de la aplicación de acceso a la base de datos. Para ello usaremos los conocimientos adquiridos en las últimas clases, y necesitaremos de algunos nuevos que pueden verse en los enlaces posteriores.
Hemos visto lo pendiente de ayer, y hemos avanzado en la aplicación incluyendo parámetros de conexión, y comenzando con el controlador y adjuntando el driver JDBC como libreria.
Nos hemos quedado a punto de suscribir el objeto controlador al GUI.
Terminaremos la aplicación y veremos todo lo posible de los temas pendientes listados aquí abajo.
POSTCURSO