Metoda čtení , getter ( angl. getter - recipient) - (v programování) speciální metoda umožňující získat data, ke kterým je přímo omezen přístup. Je to jedna z technik objektově orientovaného programování , která pomáhá implementovat flexibilní mechanismus zapouzdření . Ve spojení se setterem jej lze použít k uspořádání vlastností a metod v jazycích , kde nejsou podporovány.
V tomto příkladu je přístup ke skrytému poli FDataposkytován prostřednictvím metod SetData ( setter ) a GetData( getter )
PHP nemá přímý mechanismus pro použití getterů, takže jsou implementovány pomocí metody „magic“ __get()
<?php class Foo { private $data ; public function __get ( $name ) { $method = 'get' . ucfirst ( $jméno ); if ( metoda_existuje ( $this , $metoda )) { return $this -> $metoda (); } } public function getData () { return $this -> data ; } }V C# se gettry a settery používají v mechanismu vlastností . Getter odpovídá klíčovému slovu get, setter množině. Verze 3 zavedla automatický getter.
class Foo { private int id ; soukromý název řetězce ; _ public int ID { get { return id ; } } public string Name { get { return name ; } nastavit { toto . jméno = hodnota ; } } public string SomeProperty { get ; nastavit ; } }Chcete-li ve VB.NET vytvořit getter, musíte zadat modifikátor ReadOnly, pokud nepoužíváte setter. Od VB 10.0 se objevují automaticky implementované vlastnosti, to znamená, že není potřeba psát implementaci vlastnosti, stačí deklarace.
Public Class Foo Private m_Data As Integer 'Soukromé pole s daty Zpráva veřejného majetku jako celé číslo 'Automaticky implementovaný majetek od VB 10.0 Public ReadOnly Property Data As Integer 'Veřejná vlastnost pouze pro čtení Get Return m_Data End Get End Property End ClassV Pythonu lze getter a setter třídy vytvořit pomocí dekorátoru @property, atributy začínající __ jsou označeny jako dostupné pouze v rámci objektu.
třída Foo : def __init__ ( self , data = None ): self . __data = data @property def data ( self ): return self . __data @data . setter def data ( self , value ): self . __data = hodnota