Získejte a nastavte metodu v Javě

Operace

Metody getters a setters nebo metody „access“ poskytují přístup k vlastnostem objektu. Metoda get vrací hodnotu vlastnosti objektu. Metoda get má návratový typ, který se vztahuje k typu přidružené členské proměnné. Metody get obecně neberou žádné parametry. Metoda sady má návratový typ „void“ a přebírá parametr příslušného typu, který má být přiřazen přidružené členské proměnné.

Úmluvy

Metody přístupu používají externí objekty, a proto jsou deklarovány jako „veřejné“ (externě viditelné) metody. Akceptovanou konvencí je pojmenovat metody get a set pro přidruženou členskou proměnnou (například „getName“ a „setName“, spojené s proměnnou „name“), s předponou „get“ nebo „set“. Ne všechny členské proměnné mohou mít přidružené metody přístupu. Tyto metody jsou zapsány pouze pro hodnoty, ke kterým je třeba přistupovat externě.

Účel

Omezení přístupu k členským proměnným objektu je součástí praxe známé jako „zapouzdření“. Zapouzdření rozděluje komponenty objektu, skrývá implementaci (interní práci) objektu, který nemusí být zvenčí viditelný, a chrání interní data před změnami bez povolení. Metody přístupu mohou provádět výpočty, ověřování nebo jiné akce, kterým by bylo zabráněno přímým přístupem členských proměnných.

Výhody

Ochrana členských proměnných, které používají metody přístupu, umožňuje programátorům snadno modifikovat interní kód beze změny způsobu, jakým tuto třídu používají ostatní. Tím se vyhnete potřebě provádět změny kódu prostřednictvím aplikace, když je třída modifikována. Getters mohou provádět výpočty a akce nezbytné k vytvoření hodnoty, minimalizovat množství externího kódu potřebného k použití hodnoty. Nastavovače mohou provádět ověření a zabránit chybám způsobeným proměnnými člena, které stanoví neplatné hodnoty.

Úvahy

Přidání metod přístupu do třídy by mělo být provedeno konzervativně. Metody přístupu musí mít pouze členské proměnné, které vyžadují externí přístup. Vlastnosti, které by měly být upravovány pouze interní operací, nepotřebují nastavovače. Vlastnosti, které nemají vnější význam, by neměly mít getter. Tento postup minimalizuje expozici implementace objektu a chrání vlastnosti před úpravami, které by mohly zavést chyby provádění. Čím méně veřejných metod existuje, tím snazší je udržovat kód.

Zajímavé Články