Método de lectura , getter ( ing. getter - destinatario) - (en programación) un método especial que le permite obtener datos, cuyo acceso está directamente limitado. Es una de las técnicas de programación orientada a objetos que ayuda a implementar un mecanismo de encapsulación flexible . Junto con un setter, se puede usar para organizar propiedades y métodos en idiomas en los que no se admiten.
En este ejemplo, el acceso al campo oculto FDatase proporciona a través de los métodos SetData ( setter ) y GetData( getter )
PHP no tiene un mecanismo directo para usar getters, por lo que se implementan a través del método "mágico" __get()
<?php clase Foo { private $datos ; función pública __get ( $nombre ) { $método = 'obtener' . ucfirst ( $nombre ); if ( method_exists ( $this , $method )) { return $this -> $method (); } } función pública getData () { return $this -> data ; } }En C#, se utilizan getters y setters en el mecanismo de propiedad . Un getter corresponde a la palabra clave get, un setter a un conjunto. La versión 3 introdujo un getter automático.
clase Foo { private int id ; nombre de cadena privado ; _ public int ID { get { return id ; } } public string Nombre { get { return nombre ; } establecer { este . nombre = valor ; } } public string SomeProperty { get ; conjunto ; } }En VB.NET, para crear un getter, debe especificar el modificador ReadOnly si no usa un setter. Las propiedades autoimplementadas han aparecido desde VB 10.0, es decir, no es necesario escribir una implementación de propiedad, basta con una declaración.
Public Class Foo Private m_Data As Integer 'Campo privado con datos Mensaje de propiedad pública como entero 'Propiedad implementada automáticamente desde VB 10.0 Public ReadOnly Property Data As Integer 'Propiedad pública de solo lectura Obtener Return m_Data End Obtener End Property End ClassEn Python, se puede crear un captador y definidor de clase utilizando el decorador @property, los atributos que comienzan con __ se marcan como disponibles solo dentro del objeto.
clase Foo : def __init__ ( self , datos = Ninguno ): self . __datos = datos @property def data ( self ): return self . __datos @datos . setter def data ( self , value ): self . __datos = valor