Mam za zadanie zaprogramować dowolną hierarchie klas implementującą interfejs Comparable<T> (lub inny), zawierającą przynajmniej cztery klasy. Może to być np. hierarchia klas reprezentująca stopnie wojskowe bądź klasy reprezentujące najważniejsze stanowiska Rzeczpospolitej Polskiej (wynik porównania ma odzwierciedlać tzw. precedencje).
Muszę zwrócić uwagę, aby implementacja tej hierarchii klas przestrzegała zasady otwarte–zamknięte, tj. aby można było dodać klasę (np. reprezentująca nowy stopień wojskowy) implementującą Comparable<T> bez konieczności zmiany implementacji w pozostałych klasach.
Mógłby mi ktoś pokazać na prostym przykładzie jak to powinno wyglądać? Ogólnie rozumiem o co chodzi, ale mam problem, żeby jakos rozsądnie to zaprogramować.