Metoda de citire , getter ( eng. getter - destinatar) - (în programare) o metodă specială care vă permite să obțineți date, accesul la care este direct limitat. Este una dintre tehnicile de programare orientată pe obiecte care ajută la implementarea unui mecanism flexibil de încapsulare . Împreună cu un setter, poate fi folosit pentru a organiza proprietăți și metode în limbi în care acestea nu sunt acceptate.
În acest exemplu, accesul la câmpul ascuns FDataeste oferit prin metodele SetData ( setter ) și GetData( getter )
PHP nu are un mecanism direct de utilizare a getterelor, deci sunt implementate prin metoda „magic” __get()
<?php class Foo { private $date ; funcția publică __get ( $nume ) { $metodă = 'obține' . ucfirst ( $nume ); if ( metoda_exista ( $aceasta , $metoda )) { returneaza $aceasta -> $metoda (); } } public function getData () { return $this -> data ; } }În C#, getters și setters sunt utilizați în mecanismul proprietăților . Un getter corespunde cuvântului cheie get, un setter unui set. Versiunea 3 a introdus un getter automat.
class Foo { private int id ; nume șir privat ; _ public int ID { get { return id ; } } public string Nume { get { return name ; } set { asta . nume = valoare ; } } public string SomeProperty { get ; set ; } }În VB.NET, pentru a crea un getter, trebuie să specificați modificatorul ReadOnly dacă nu utilizați un setter. Proprietățile implementate automat au apărut începând cu VB 10.0, adică nu este nevoie să scrieți o implementare de proprietate, o declarație este suficientă.
Public Class Foo Private m_Data As Integer „Câmp privat cu date Mesaj de proprietate publică ca întreg „Proprietate implementată automat începând cu VB 10.0 Date de proprietate publică ReadOnly As Integer „Proprietate publică numai de citire Get Return m_Data End Obține End Property End ClassÎn Python, o clasă de captare și setare poate fi realizată folosind decoratorul @property, atributele care încep cu __ sunt marcate ca disponibile numai în cadrul obiectului.
clasa Foo : def __init__ ( self , data = None ): self . __data = date @property def data ( self ): return self . __date @date . setter def data ( self , value ): self . __data = valoare