Když se na to člověk podívá poprvé, napadne ho, že je tam chyba, neboť si pod "instancí třídy 3.A" představí celou třídu v doslovném slova smyslu - tedy množinu žáků, vztahy mezi nimi, jejich učitele, jejich učebnu, atd.
Když se na to ale podívá podruhé (no, ty inteligentnější to napadne hned napoprvé), povšimne si oné jemné a nenápadné hry s jazykem. Pak mu dojde, že třída "3.A" je vlastně třída "žák". Takže instancí třídy "3.A" jsou jednotlivý žáci. No a pak se člověk začne smát.
...
No ale takhle ve dvou krocích to vážně vnímají jen pomalu myslící lidi jako jsem já.
...
A stejně si na tenhle komiks nemohu stále zvyknout. Připadná mi to jen jako odvar od Karla a Čeňka. A u těch aspoň člověk nemusel přemýšlet, pointa byla znát hned.
Takovahle hra se slovy je ale dost nebezpecna. Samozrejme, ze je to spatne. Vubec instance "Tridy 3.A".
Ale abych jen neremcal, tak spravne by melo byt nasledujici:
class Trida {
private String nazevTridy;
private Collection{zak} zaci;
}
Trida instance = new Trida("3.A", zaci);
Asi by byl nesmysl tvorit vlastni tridu Trida3A. Pokud jiz stavim nejakou hierchii, mel bych presne definovat vlastnosti dane tridy, ktere jsou unifikovany pro dany rocnik. Pri predstave, ze pro kazdou skolni tridu budu tvorit novou tridu je prece objektove spatne.
Pro rozsireni muzu pouzit nekolik moznosti, napr.:
class Trida {
private VlastnostiTridy vlastnosti;
}
ci implementace rozhranni, atd.
Dle meho by spravne melo byt: Jsou zde nejaci zaci, spadajici do kolekce obsazene v instanci tridy s nazvem 3.A?