Vlákno názorů k článku Komiks: nový třídní učitel od peregrin - Když se na to člověk podívá poprvé, napadne...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 10. 2007 9:58

    peregrin
    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.
  • 27. 10. 2007 15:10

    finc (neregistrovaný)
    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?
  • 29. 10. 2007 16:17

    peregrin
    No a to právě že ne. Žádné "class Trida", to by v tom komiksu muselo být třída 2x za sebou. Takže spíše nějak takhle:

    class Pupil { /* ... */ };
    class ThirdYear: Pupil { /* ... */ };
    class ThirdYearA: ThirdYear { /* ... */ };

    int main()
    { /* ... */
    ThirdYearA Vojta(/* ... */);
    /* ... */ }


    Tak, a dál už to obhajovat odmítám. Jak už jsem řekl, nemám tenhle komiks rád tak, jako jsem měl rád komiks "Karel a Čeněk".