docenciait / ProgramacionDAW

0 stars 0 forks source link

Ejercicio 3 (de los propuestos) Unidad 9 H #21

Open danieldat opened 4 years ago

danieldat commented 4 years ago

Buenas Ivan:

En el ejercicio 3 de la unidad 9 H "actividades propuesta". Creo un un arraylist llamado baúl,en él hay dos objetos diferentes,Chanson y Juegos,el ejercicio me pide que me recorra el arraylist poniendo el numero de paginas y el numero de canciones,en mi caso sería la duración de la canción y la duración del juego, el problema es que no me da opción a ningún tipo de método,al ser de dos clases diferentes,he estado mirando por internet y en los apuntes, pero no he encontrado nada, ni se me ha ocurrido ninguna idea,en este caso como se haría?Stante es la clase main.

https://github.com/danieldat/Ejercicio

javierbarbe commented 4 years ago

yo lo he resuelto creando una clase padre de la que hereden los dos Chanson y Juegos... para que asi al crear el :

 ArrayList <clasePadre> lista = new ArrayList<>(); 

los unicos elementos que puedas añadir a la lista sean aquellos que hereden de la clasePadre ( o la propia clase padre)

pero me falla eso... que los metodos propios de cada clase que heredan de la padre, no puedo acceder a ellos de ninguna manera... a no ser que los defina en la clase padre... lo cual no me parece que sea correcto ya que un disco no tiene paginas y un libro no tiene canciones....

javierbarbe commented 4 years ago

con eso y las lambdas xD

ivanjimenez commented 4 years ago

Según la solución que aporta Javier, se podría utilizar también interfaces, así podríais utilizar métodos en varias clases de manera homogénea o también combinando con clases abstractas. Realmente no sería una especialización, si no más bien una relación asociativa. Un estante está formado por libros y discos, por ejemplo. Y un libro está formado por páginas y un disco por canciones. Podéis elegir hacer herencia con interfaces si queréis. Tened presentes los conceptos de herencia, interfaz, composición/asociación, etc. Hacerme llegar vuestros comentarios y fuentes si tenéis más dificultades. Saludos

ivanjimenez commented 4 years ago

Mañana hablaremos algo más sobre las lambdas, aunque en Ficheros/Streams tiene más cabida ese tema.

danieldat commented 4 years ago

Ahora le hecho un ojo,muchas gracias Javi e Ivan.

El dom., 26 abr. 2020 17:48, Iván Jiménez notifications@github.com escribió:

Mañana hablaremos algo más sobre las lambdas, aunque en Ficheros/Streams tiene más cabida ese tema.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/avellanedaDaw1/ProgramacionDAW/issues/21#issuecomment-619573153, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANE26TKLZ5QFYJBDHKTXJTDRORJV5ANCNFSM4MQ6D3BA .

ivanjimenez commented 4 years ago

Gracias a vosotros por vuestro trabajo

javierbarbe commented 4 years ago

en esta ruta esta mi carpeta de ejercicios de este tema https://github.com/javierbarbe/rojo/tree/master/src/tema9ActProouestasIvan

dudas generadas por las linea 54 -64 los archivos son Ej3 , Libro2, Estante, Disco la clase de la que heredan ( almacenable) esta dentro de Ej3