Wyobraź sobie, że Twoi klienci chcą mieć możliwość dodania nowej właściwości (np. Koloru) do produktu w swoim sklepie internetowym w CMS. Zamiast mieć właściwości jako pola: class Car extends Product { protected String type; protected int seats; } Prawdopodobnie skończyłbyś robić coś...