Metody set a get v OOP jsou špatným návykem
Allen Holub boří další mýtus, po té co v článku Why extends is evil
(Dagblog — Dědičnost vs. implementace)
nenechal nit suchou na dědění, se pouští do tzv. accesoru. Accesory jinak též set a get metody nebo setry a getry se používají
pro zapouzdření neveřejných proměnných objektu.
Fundamentálním přikázáním v OOP je zapouzdření
objektu. Objekt reprezentuje pouze veřejné rozhraní, kterým umožňuje komunikaci s okolním světem. Vše mimo veřejné
rozhraní objektu je vnitřní reprezentace objektu, která se skrývá před okolním světem z důvodu, aby jí
bylo možné v případě potřeby změnit.
class Bar{
public int foo = 10;
}se zapouzdřuje pomocí set a get metod takto
class Bar{
private int foo = 10;
public void setFoo(int foo){
this.foo = foo;
}public int getFoo(){
return this.foo;
}
}Stejný či podobný kód naleznete v 90% materiálu dotýkajících se
OOP. Proč použití
těchto accesoru není úplně pravé ořechové vysvětluje článek
Why getter and setter methods are evil.
Odborná kvalita článku je na velice vysoké úrovni a vřele doporučuji si ho prostudovat.
Související články
Související epizody CZ Podcastu
- #261 · Leadership
O vedení lidí a týmů.
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.
- #1 · Vývojová prostředí v Javě
První díl CZ Podcastu se věnuje vývojovým prostředím pro Javu.