Rax:
jo - a teď si představ, že nemáš jen kružnici ale N různých geometrických tvarů a pro každou jejich instanci budeš mít jiná pravidla pro obarvování. To pro každej typ parametru každého geometrického útvaru budeš definovat subclass z bodu???
Hodně rychle uvidíš, že Tvůj přístup je blbina a že ten "teoreticky správný" OOP přístup, tedy nechat bod bodem a když holt barva kružnice závisí na poloze bodu X, tak ji určovat "on demand" z aktuální polohy bodu je ve skutečnosti daleko jednodušší a zároveň blbuvzdornější.
PS: Druhá, opět OOP čistá metoda je umožnit bodu (nebo jeho podtřídě) informovat LIBOVOLNÉHO zájemce o změně své polohy. Ale subtypovat objekt jen kvůli agregaci třídy do jiné třídy je prasečina. Subtypovat kružnici z bodu je pak prasečina ještě větší (až budu potřebovat ještě čtverec a elipsu a pro všechny nějakého společného předka, protože to jsou oba dva 2D objekty, které určitě budou mít mnoho společného, tak ....).