Ještě je třetí typ: predikát.
Se všemi třemi typy přístupových metod je nutné náležitě šetřit. Nepoužívám je prakticky vůbec, zpravidla jsou nežádoucí.
Prosím, vysvětlete mi, co tím básník myslel.
Mě naopak přijde jejich použití víc než žádoucí.
Ne, jsou _spise_ (zalezi na dalsim) nezadouci. Teda od urcite urovne dal, pokud je chces srovnat s tim, ze udelas par public fieldu bez jakekoli ochrany, tak jsou i acessory cesta vpred. Navic je rozdil mezi get a set, to druhe je daleko horsi (protoze implikuje mutabilitu).
Velmi jednoduchy priklad:
Chces udelat counter. Trebas pises takove to "mackatko", kterym se pocitaji lide jdouci na koncert nebo prujezd aut.
Kdyz mas private int count a k tomu getter a setter, tak ti klient zvysuje po pruchodu cloveka count nejakym counter.setCount(getCount() + 1). To neusychronizujes, nezabranis rozjebani stavu z venci... Pritom tam muzes mit metody getCount() a inc() a mas polovinu problemu.
(Jeste jednou zduraznuju - neni to 100% pravidlo, casto jsou acessory naprosto OK. Ale pouzivat opatrne. A set je urcite daleko nebezpecnejsi nez get. Opatrne i s getem, pokud ven pousti nejakou mutovatelnou vnitrni strukturu.)