Curso UML. Diagramas de clases III. Traslado a código I. Vídeo 11
Introducción al curso de UML y diagramas de clases
Resumen de la sección: En esta sección introductoria del curso, el instructor da la bienvenida a los estudiantes y explica que se centrarán en los diagramas de clases en UML. También menciona que en el video anterior se discutió el concepto de asociación entre clases.
Traslado de un diagrama de clases a código
- Muchos estudiantes han solicitado aprender cómo trasladar un diagrama de clases a código.
- Es importante tener conocimientos básicos de programación para comprender este proceso.
- Un diagrama UML es una representación gráfica de un programa, por lo que deberíamos poder traducirlo intuitivamente a código.
- En este video, se mostrará cómo trasladar un diagrama sencillo de clases a código Java.
Diagrama UML del colegio y estudiante
- Se muestra un ejemplo simple del diagrama UML con dos clases: "colegio" y "estudiante".
- La clase "colegio" tiene propiedades como nombre, dirección, teléfono, capacidad y director. También tiene métodos para matricular alumnos, contratar profesores y más.
- La clase "estudiante" tiene propiedades como ID, nombre, apellido, fecha de nacimiento, curso actual y más. También tiene métodos para inscribirse o abandonar cursos.
Traducción del diagrama a código Java
Resumen de la sección: El instructor comienza a explicar cómo traducir el diagrama UML a código Java.
Clase "colegio" en código Java
- Se muestra el constructor de la clase "colegio" en código Java, que recibe parámetros como nombre, dirección, teléfono, capacidad y director.
- También se muestran otros métodos como matricular alumnos, contratar profesores y obtener datos del colegio.
- Se explica el método setter para cambiar los datos del colegio, como la dirección o el nombre.
Clase "estudiante" en código Java
- Se muestra el constructor de la clase "estudiante" en código Java, que recibe parámetros como nombre, apellido y fecha de nacimiento.
- También se muestran otros métodos como inscribirse o abandonar cursos.
Conclusiones y próximos pasos
Resumen de la sección: El instructor concluye el video mencionando que en el próximo video se mostrará cómo traducir el diagrama UML a código Python. También enfatiza la importancia de tener conocimientos básicos de programación para comprender estos conceptos.
Obtención de datos del alumno
Resumen de la sección: En esta sección, se menciona que el teléfono y el email permiten obtener los datos del alumno, como nombre, apellido y fecha de nacimiento. Se destaca la importancia de tener acceso público a estas propiedades en ambas clases.
Propiedades encapsuladas
- Las propiedades relacionadas con los datos del alumno deben estar encapsuladas.
- En la clase colegio, las propiedades como nombre, dirección, teléfono y capacidad deben ser privadas.
- La propiedad capacidad debe ser de tipo entero.
Relación de asociación entre clases
Resumen de la sección: Se explica que hay una relación de asociación entre las clases colegio y estudiante. Esta relación es representada por una línea en el diagrama UML. La multiplicidad de esta relación es "uno a varios", lo que significa que un colegio puede enseñar a varios estudiantes.
Multiplicidad en la relación
- Un colegio puede enseñar a varios estudiantes.
- Un colegio puede tener varios estudiantes matriculados.
Diagrama UML y traslado a código
Resumen de la sección: Se muestra el diagrama UML utilizado para representar las clases colegio y estudiante. El profesor menciona que cada uno puede utilizar su propio programa en cualquier lenguaje para implementar estas clases. También destaca la posibilidad de agregar métodos adicionales según las necesidades del programa.
Traslado a código Java
- El profesor utiliza Eclipse como entorno de desarrollo para programar en Java.
- Crea un proyecto y un paquete para almacenar las clases.
- La idea es modularizar el código, separando cada clase en un archivo independiente.
Modularización del código
Resumen de la sección: Se explica la importancia de modularizar el código, es decir, separarlo en módulos, ficheros y clases. Esto permite reutilizar las clases en futuros proyectos y facilita la organización del código.
Creación de clases independientes
- El profesor crea tres clases diferentes: colegio, estudiante y una tercera clase para utilizar colegio y estudiante.
- Cada clase se almacena en un archivo independiente dentro del paquete creado.
Clase Colegio - Propiedades encapsuladas
Resumen de la sección: Se comienza a implementar la clase colegio. Se crean las propiedades encapsuladas según lo indicado en el diagrama UML. Las propiedades incluyen nombre, dirección, teléfono, capacidad y director.
Propiedades encapsuladas
- Las propiedades nombre, dirección y teléfono son de tipo String.
- La propiedad capacidad es de tipo entero.
- Todas las propiedades deben estar encapsuladas con el modificador private.
Relación de asociación - Estructura para almacenar estudiantes
Resumen de la sección: Se menciona que la relación de asociación entre colegio y estudiante es "uno a varios". Por lo tanto, se necesita una estructura que permita almacenar varios estudiantes en la clase colegio. También se menciona que el colegio puede tener varios profesores y cursos.
Estructura para almacenar estudiantes
- Se utiliza una estructura de tipo lista (ArrayList) para almacenar los estudiantes.
- Se crea una propiedad llamada "estudiantes" de tipo ArrayList<Estudiante>.
- También se crean propiedades para almacenar profesores y cursos, utilizando la misma estructura.
Creación de listas - Estudiantes, profesores y cursos
Resumen de la sección: Se crea una lista de estudiantes utilizando la clase ArrayList. También se crean listas separadas para almacenar profesores y cursos.
Listas para almacenar datos
- Se crea una lista llamada "estudiantes" de tipo ArrayList<Estudiante> para almacenar los estudiantes.
- Se crea una lista llamada "profesores" de tipo ArrayList<String> para almacenar los nombres de los profesores.
- Se crea una lista llamada "cursos" de tipo ArrayList<String> para almacenar los nombres de los cursos.
Uso del constructor en la clase Colegio
Resumen de la sección: Se menciona que es necesario implementar el método constructor en la clase colegio. Aunque aún no se ha creado la clase estudiante, se deja un espacio temporal hasta que sea creada.
Método constructor
- Es necesario implementar el método constructor en la clase colegio.
- El código del método constructor será agregado más adelante cuando se haya creado la clase estudiante.
Creación de campos de clase y constructor
Resumen de la sección: En esta sección, el instructor explica su preferencia por crear los campos de clase al final de las clases en lugar de al principio. Luego, muestra cómo generar un constructor utilizando los campos de clase.
Creación de campos de clase
- Es recomendable crear los campos de clase al final de la clase.
- Esta práctica puede resultar extraña para algunos alumnos, pero es una costumbre adquirida por el instructor.
- La preferencia por esta práctica se debe a la experiencia previa del instructor con libros que seguían este enfoque.
Generación del constructor
- Haciendo clic derecho dentro de la clase en Eclipse, se puede seleccionar "Generate Constructor using Fields" para generar automáticamente un constructor utilizando los campos de clase.
- Se omite la inclusión de las listas relacionadas con estudiantes, profesores y cursos en el constructor.
- Los parámetros del constructor serán nombre, dirección, teléfono, directora y capacidad.
Método matricular estudiante
Resumen de la sección: En esta sección, el instructor muestra cómo implementar el método "matricularEstudiante" en la clase Colegio. También menciona la importancia de utilizar nombres coherentes para los métodos.
Implementación del método matricularEstudiante
- El nombre del método debería ser "matricularEstudiante" en lugar de "matricularAlumno" para mantener coherencia con el nombre de la clase Estudiante.
- El método debe ser público (public), no devolver ningún valor (void) y recibir un objeto Estudiante como parámetro.
- Se utiliza una condición para verificar si la capacidad del colegio permite matricular más estudiantes.
- Si el tamaño de la lista de estudiantes es menor que la capacidad, se agrega el estudiante a la lista.
- En caso contrario, se muestra un mensaje indicando que se ha alcanzado la capacidad máxima del colegio.
Método expulsar estudiante
Resumen de la sección: En esta sección, el instructor muestra cómo implementar el método "expulsarEstudiante" en la clase Colegio. Este método permite expulsar a un estudiante eliminándolo de la lista de estudiantes.
Implementación del método expulsarEstudiante
- El nombre del método debe ser "expulsarEstudiante" para mantener coherencia con el nombre de la clase Estudiante.
- El método debe ser público (public), no devolver ningún valor (void) y recibir un objeto Estudiante como parámetro.
- Se utiliza el método "remove" de ArrayList para eliminar al estudiante de la lista.
- Con esto, se completa la implementación de los tres primeros métodos en la clase Colegio.
Próximos pasos y recursos adicionales
Resumen de la sección: En esta sección final, el instructor menciona que faltan algunos aspectos por completar en relación a las clases Estudiante y Curso. También invita a los espectadores a registrarse en su academia virtual para acceder a cursos gratuitos y obtener seguimiento personalizado.
Próximos pasos y recursos adicionales
- Aún falta completar los detalles relacionados con las clases Estudiante y Curso.
- Se invita a los espectadores a registrarse gratuitamente en la academia virtual del instructor para acceder a cursos gratuitos y recibir seguimiento personalizado.
- La academia virtual ofrece cursos ordenados por categorías y brinda la posibilidad de resolver dudas, realizar ejercicios y obtener certificados al finalizar los cursos.