...Vedeš tady svatou válku proti getterům a setterům, ale ony se v praxi používají, protože nikdo zatím nic lepšího nevymyslel... ...měl bys je tam taky, protože to prostě funguje nejlíp. Bez getterů a setterů by to šlo udělat, ale bude to horší. Jak z hlediska výkonu, tak z hlediska udržovatelnosti kódu...
Prosímvás, mohl by mi tady konečně někdo vysvětlit, co si místní diskutující představují pod termíny getter a setter? Pořád mám pocit, že je to něco sice magického a zakázaného, ale děsně to zrychlí aplikaci, když se to tam dá. Přitom jsem si vždy myslel, že se jedná pouze o luxusní název pro obyčejné, prašivé metody (často s cukrovou syntaxí pro trupky), přes které tečou informace z a do objektu. Možná by nebylo od věci připojit informaci, ke kterému že to zprasenému jazyku se ono provedení getterů a setterů vztahuje.
Děkuji velice za vysvětlení.
Nevím, zda se mi to podaří dostatečně objasnit, protože přeci jen, nemá ty zkušenosti, ale zkusím to.
Gettery a Settery jsou specielní zařízení, které slouží k naplnění nějakého objektu. Cíl je ten, aby to bylo pěkně rozmístěné. Na jednom místě si vytvoříš objekt. To je něco jako avizo na místo (velice drahá operace, proto má samostatnou kolonku). Pak přejdeš na jiné místo, kde pomocí setterů nastavíš tomu objektu nějaká data. Tím, jak je na každý prvek extra setter - metoda, tak to zásadně zpřehlední a pomůže to tomu, aby si na žádný povinný prvek nezapoměl.
Důležité je toto (vytváření a plnění) explicitně rozlišovat. To kůli výkonu.
Jak už tu někteří zmínili, velice příjemným vedlejším efektem je, že když se ti to na z nějakého důvodu nepovede (myšleno nastavení toho objektu pomocí setteru), tak to můžeš zkusit znova, případně i do třetice.
Další skvělou vlastností je, že když potřebuješ objektu přidat nějakou povinnou závislost, nějaký atribut, tak prostě jen přidáš dvě nové metody, setter/getter, a už jen všude dohledáš, kde se to nastavuje. A máš to.
Prostě díky setterům uděláš dobrou práci. Je to skvělý.