Open felipeboya opened 1 month ago
Hola @felipeboya En este caso es mejor plantear composición en vez de herencia porque al extender a HashMap estás ofreciendo también todos los métodos públicos de Map de forma que podría agregar elementos no sólo utilizando el add que implementaste sino también el put(K,V) que heredaste y no corresponde. Eso del remove que mencionás va en la misma línea, idealmente el add y remove deberían sobreescribir a los de la clase padre pero no lo podés hacer porque los signatures son distintos, otro indicio más de que herencia me va a dar problemas. No es un error grave porque no repetís código y supiste superar estos obstáculos que te trajo la herencia pero tené en cuenta los signatures de los métodos por si en otro ejercicio no podés cambiarlos (por ejemplo si te damos nosotros la interfaz).
Hola, tengo una cosulta sobre el ejercicio 8 del TP6. Yo hice la implementacion de Bag haciendo que la clase BagImpl extienda a HashMap, pero vi que en las soluciones en vez de usar herencia tiene el HashMap como atributo. Queria saber si en este caso habia alguna diferencia y si mi solucion igualmente es correcta. La implementacion de los metodos es casi igual que en las soluciones, excepto remove que si le cambiaba el prototipo no compilaba, asi que lo tuve que dejar asi.
Gracias!