En esta entrada podréis encontrar el enunciado y porteriormente la solución propuesta para el ejercicio de la gestión de transporte público. El objetivo de este ejercicio es trabajar con herencia, revisar los conceptos de visibilidad de atributos y métodos, ver un ejemplo de abstract, utilizar interfaces y manejar static. Este ejercicio es muy parecido al ejercicio principal que haremos durante la evaluación.
Cosas que debemos recordar:
-Una clase abstract debe ser implementada por sus descendientes. Se usa para evitar que creemos instancias de la clase o en clases en las que tenemos un método abstract. -Un método abstract debe ser implementado por cualquier subclase que queramos instanciar.
-El método toString() es el método que se llama por defecto cuando le pedimos a un objeto que se «escriba» por ejemplo con System.out.println.
-No podemos comparar objetos con ==, para clases que hemos definido nosotros, debemos sobreescribir el método equals.
-Hemos trabajado el control de excepciones en el main para asegurarnos de que leemos por teclado cadenas que se pueden convertir a números enteros (int).
-Hemos trabajado las visibilidades de métodos y atributos (public, protected y private).
-Un método static es un método de clase, sólo puede acceder a variables locales y atributos estáticos. Para llamar al método no necesitamos crear un objeto, de hecho lo recomendable es llamarlo así: NombreClase.metodoEstatico().
-Un atributo static es un atributo de clase, es decir no se crea una copia en los objetos si no que éstos apuntan a la dirección de memoria donde se encuentra el atributo. Si alguien cambia el valor del atributo, éste cambiará para todos. Se suele usar muchas veces para declarar constantes. Por norma general, si se van a usar fuera de la clase, se pueden declarar públicos aunque tampoco está mal encapsularlos y acceder mediante getter y setter.
-Una interface es como un documento de requisitos. Nos dice lo que tienen que hacer las clases que la implementen. Sirve para simular «herencia múltiple» evitando el problema del diamante y para obligar a clases a que implementen determinados métodos.
No te olvides de utilizar las funcionalidades que trabajamos en el ejercicio de la biblioteca multimedia.
Enunciado: https://mega.nz/#!pVxmRazC!TvjUKmpButHPLbyr6iEX3U70oIO6BV_X4jjHGvErLoM
Enunciado modificado: Descargar
Solución enunciado modificado: Descargar proyecto Netbeans