Cześć, przerabiam sobie trochę dziedziczenie i wpadłem na przykład, do którego nie wiem jak się poprawnie zabrać.
Załóżmy, że mamy klasę obraz, której obiekty zawierają figury różnego typu: koła, kwadraty, trójkąty itd. Wszystkie te figury są w prostym kontenerze typu ArrayList<Figura>.
Chciałbym móc dla każdego obrazu podać liczbę figur określonego typu.
Miałem 3 pomysły:
pierwszy-zmienna statyczna licznik w klasie bazowej figura: to jest ok, ale tylko dla jednego obrazu, dla większej ilości byłoby nielogiczne, to raczej obrazy powinny dawać możliwość sprawdzenia, ile i jakich mają obiektów.
drugi-tablica w klasie obraz-dodając figurę do obrazu aktualizujemy tablicę wystąpień figur w obrazie: ok, ale dla dużej ilości klas niepotrzebny narzut pamięciowy
trzeci-metoda w klasie obraz szukająca operatorem instanceof obiektów danego typu-niby najbardziej mi pasuje, ale z polimorfizmem to ma chyba niewiele wspólnego
Bardzo proszę o pomysły/wskazówki jak to sensownie rozwiązać.