POO-ITBA / 2024_02

Consultas 2C 2024
2 stars 0 forks source link

Parcial 2023_C1 E03 #26

Open teofum opened 6 days ago

teofum commented 6 days ago

En este ejercicio hay que implementar una colección PartitionableCollection, que según el enunciado se comporta de modo prácticamente idéntico a List (permite repetidos, se itera por orden de inserción).
En este caso se considera buena práctica extender ArrayList<T> en vez de implementar Collection<T> directamente? Ya que de hacer la segunda opción, la implementación consiste en tener un ArrayList<T> interno y pasar todos los métodos de Collection directamente a ese array, e.g.,

public void add(T item) {
    items.add(item);
}

mientras que con la primera opción sólo es necesario agregar los métodos específicos a PartitionableCollection, aunque se heredan algunos métodos como clear que no pide la consigna.

fmeola commented 6 days ago

Hola @teofum Sí, vamos a considerar buena práctica extender ArrayList en vez de implementar Collection porque como bien decís la implementación de la segunda implicaría implementar varios métodos, todos de una sola proposición, que consisten en llamar al método del mismo nombre pero sobre la variable de instancia. Esto lo aclaramos al final de la ppt de colecciones e hicimos justamente el ejercicio PartitionableCollection (diapositivas 81 a 85). https://docs.google.com/presentation/d/1O1CtfuCZfRKkap0HJEDOpQo272GglKeJ--rALUcQEAY/edit?usp=sharing