1 Curso de Java Programación Orientada a ObjetosProf. Ing. Guido Acosta
2 Contenido de la clase -Polimorfismo- Sobrecarga de métodos y constructores -Librerías de clases - Gestión Académica
3 Gestión Académica – Diseño de ClasesCurso 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
4 Gestión Académica – Diseño de ClasesAlumno Materia String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* MatComp Alumno tiene materias MatBasica PaginaWeb recurso Libro recurso
5 Gestión Académica – Diseño de ClasesAlumno 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
6 Gestión Académica – Diseño de ClasesAlumno 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
7 Gestión Académica – Diseño de ClasesAlumno Materia String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* MatComp MatBasica PaginaWeb recurso Libro recurso Materia MatBasica MatComp MatBasica
8 Gestión Académica – Diseño de ClasesAlumno Materia String nombre int codigo Materia materias[] boolean pasaCurso() nombre Nota notaMat 1 1..* MatComp MatBasica PaginaWeb recurso Libro recurso Polimorfismo MatBasica MatComp MatBasica
9 Polimorfismo - EjemploInicializar un vector polimorfico
10 Polimorfismo - MétodosDijimos que alumno tiene materias
11 Polimorfismo - MétodosDijimos que alumno tiene materias
12 Polimorfismo - Métodos
13 Polimorfismo - Métodos
14 Polimorfismo - MétodosSobreescritura de métodos. La otra opción es declarar Materia como abstracta. Sobreescritura de métodos
15 Polimorfismo - Sobreescritura
16 Polimorfismo - SobreescrituraFacilidad de codificación. En un lenguaje no orientado a objetos las cosas serían un poco más dificil.
17 Contenido de la clase -Polimorfismo- Sobrecarga de métodos y constructores -Librerías de clases - Gestión Académica
18 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.
19 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.
20 Sobrecarga de métodos Java utiliza mucho la sobrecarga
21 Sobrecarga de métodos Sobrecarga del método ordenar. Cada método tiene una lista de parámetros diferentes.
22 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.
23 Contenido de la clase -Polimorfismo- Sobrecarga de métodos y constructores -Librerías de clases - Gestión Académica
24 Librería de clases http://download.oracle.com/javase/6/docs/index.html
25 Librería de clases String - Split String - Replace
26 Librería de clases Math
27 Librería de clases Calendar y GregorianCalendar
28 Librería de clases Calendar y GregorianCalendar - Impresiones
29 Librería de clases ArrayListClase para almacenar una colección de objetos Su tamaño es dinámico Su índice empieza en cero
30 Librería de clases
31 Librería de clases ¿Cómo agregamos más alumnos?
32 Librería de clases Uso de ArrayList
33 Librería de clases Uso de ArrayList
34 Contenido de la clase -Polimorfismo- Sobrecarga de métodos y constructores -Librerías de clases - Gestión Académica
35 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
36 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
37 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
38 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.