Curso de Java Programación Orientada a Objetos Prof. Ing. Guido Acosta
Contenido de la clase -Polimorfismo - Sobrecarga de métodos y constructores -Librerías de clases - Gestión Académica
Gestión Académica – Diseño de Clases Curso Alumno Materia Alumnos alumnos[] Profesor profesor double promedCurs() String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* 1 1..* 1 1 1 Profesor MatComp String nombre String codigo NotaProfesor nota 1 MatBasica PaginaWeb recurso NotaAlumno 1 Libro recurso int parciales[] double notafinal() 1 1 1 1 1 1 1 NotaProfesor Nota Libro PaginaWeb double factorCalificac double notafinal() String descripcion String comentarios[] double notafinal() String nombre String autor String descripcion String link
Gestión Académica – Diseño de Clases Alumno Materia String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* MatComp Alumno tiene materias MatBasica PaginaWeb recurso Libro recurso
Gestión Académica – Diseño de Clases Alumno Materia String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* MatComp Las materias son de dos tipos MatBasica PaginaWeb recurso Libro recurso
Gestión Académica – Diseño de Clases Alumno Materia String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* MatComp MatBasica ¿Cómo almacenamos MatBasica y MatComp en una vector de tipo Materia? PaginaWeb recurso Libro recurso
Gestión Académica – Diseño de Clases Alumno Materia String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* MatComp MatBasica PaginaWeb recurso Libro recurso Materia MatBasica MatComp MatBasica
Gestión Académica – Diseño de Clases Alumno Materia String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* MatComp MatBasica PaginaWeb recurso Libro recurso Polimorfismo MatBasica MatComp MatBasica
Polimorfismo - Ejemplo Inicializar un vector polimorfico
Polimorfismo - Métodos Dijimos que alumno tiene materias
Polimorfismo - Métodos Dijimos que alumno tiene materias
Polimorfismo - Métodos
Polimorfismo - Métodos
Polimorfismo - Métodos Sobreescritura de métodos. La otra opción es declarar Materia como abstracta. Sobreescritura de métodos
Polimorfismo - Sobreescritura
Polimorfismo - Sobreescritura Facilidad de codificación. En un lenguaje no orientado a objetos las cosas serían un poco más dificil.
Contenido de la clase -Polimorfismo - Sobrecarga de métodos y constructores -Librerías de clases - Gestión Académica
Sobrecarga de método Java permite que varios métodos dentro de una clase se llamen igual, siempre y cuando su lista de parámetros sea distinta.
Sobrecarga de métodos Java permite que varios métodos dentro de una clase se llamen igual, siempre y cuando su lista de parámetros sea distinta.
Sobrecarga de métodos Java utiliza mucho la sobrecarga
Sobrecarga de métodos Sobrecarga del método ordenar. Cada método tiene una lista de parámetros diferentes.
Sobrecarga de métodos No es válido definir dos métodos con el mismo nombre que difieran únicamente por el tipo de valor que devuelven.
Contenido de la clase -Polimorfismo - Sobrecarga de métodos y constructores -Librerías de clases - Gestión Académica
Librería de clases http://download.oracle.com/javase/6/docs/index.html
Librería de clases String - Split String - Replace
Librería de clases Math
Librería de clases Calendar y GregorianCalendar
Librería de clases Calendar y GregorianCalendar - Impresiones
Librería de clases ArrayList Clase para almacenar una colección de objetos Su tamaño es dinámico Su índice empieza en cero
Librería de clases
Librería de clases ¿Cómo agregamos más alumnos?
Librería de clases Uso de ArrayList
Librería de clases Uso de ArrayList
Contenido de la clase -Polimorfismo - Sobrecarga de métodos y constructores -Librerías de clases - Gestión Académica
Ejercicio Gestión Académica (4) Los alumnos pueden prestar los libros de la biblioteca. Es necesario llevar un control de los libros prestamos por los alumnos. Tareas Definir las nuevas clases con sus atributos y métodos. Aplicar todos los conceptos aprendidos. Incluir el método agregarAlumno a la clase Alumno
Ejercicio Gestión Académica (1) Escribir un programa que gestione las notas de los alumnos y profesores. Los alumnos tienen tres exámenes parciales. La nota final del alumno se obtiene mediante el promedio de las tres notas parciales. Además para calificar al profesor, el programa deberá ofrecer una funcionalidad para el cálculo del promedio del curso. El rendimiento del profesor se obtiene a partir del promedio del curso: Calificación profesor = promedio * 0.6 Tareas Definir las clases necesarias Crear un menú con las operaciones disponibles Cargar datos de los alumnos (especificar cantidad de alumnos) Cargar datos del profesor Mostrar resultados Calificación del profesor Calificación de un alumno en particular Promedio del curso Implementar los métodos para los cálculos Implementar métodos para validaciones
Ejercicio Gestión Académica (2) Los alumnos tienen tres exámenes parciales en cada materia. La nota final del alumno en una materia se obtiene mediante el promedio de las tres notas parciales. Existen materias básicas y complementarias. El alumno pasa de curso si obtiene una nota mayor o igual a 2 en el 80% de las materias básicas y la misma nota en el 20% de las notas complementarias. Tareas Definir las clases necesarias. Implementar los métodos para los cálculos
Ejercicio Gestión Académica (3) Cada materia básica tiene un libro cabecera. Las fuentes de información para las materias complementarias con direcciones de páginas web que se le pasa a los alumnos. Por otro lado, cada vez que el profesor dicta la clase, se le tiene que sumar las horas de enseñanza para el cálculo del sueldo a fin de mes. Tareas Utilizar herencia para las materias y las personas. Agregar los atributos y métodos a la clase profesor. Alumnos pueden prestar libros de la biblioteca. Primeramente definir las bibliotecas y los libros y en las siguientes clases usar la biblioteca. Las materias tienen libros definidos para las clases. Definir los datos de entrada en archivos y enseñar lectura de archivos.