Hirdetés

Új hozzászólás Aktív témák

  • bucsupeti
    senior tag

    Egyébként nagyon csúnya dolog javában a publikus adattag. Ilyen pl a Player osztályban a number. Ugyan működik a program de az egyik objektum-orientált elvet sérti meg a program, mégpedig az egységbezárást (Encaptulation). Illik private-ként deklarálni az adattagokat, és getter/setter metódusokkal intézni az adattagok írását, olvasását.

    Hát azért ez egy picit nem ilyen egyszerű. Azzal, hogy private-té teszel minden tagváltozót és mindenre csinálsz "no-brain" gettert/settert (mindenféle logika nélkül, csak változó beállítás, változó visszaadás, mint a ahogy a java kódok nagy részénél látható) ezzel lehetővé téve, hogy kívülről megváltoztassák az objektumod belső állapotát, még nem vagy sokkal közelebb az egységbezáráshoz ahhoz képest, hogy mindent publicon hagysz.

    Nem azt mondtam hogy mindenhez ész nélkül generáltatok getter/setter-t. Ebben a példában simán hibás minden. publikus adattagokkal van minden összedobva. Ez mellett az említett number tagot direktben kérdezi le. Úgy látom ez egy oktató, gyakorló példa, amiben szerintem már régen túl kéne azon lenni, hogy az adattagokra nem hivatkozunk közvetlenül. Ha a p1 objektum el akarja mondani hogy mi az ő tippje, akkor azt mondja meg (metódus) és ne kibányásszák az agyából (közvetlen adattag elérés).

    Mégegyszer mondom, OKTATÁSI szinten tartom hibásnak a "minden publikus" elvet.

Új hozzászólás Aktív témák