Propiedades (C# y Java)

Actualización: noviembre 2007

En C#, una propiedad es un miembro con nombre de una clase, estructura o interfaz que ofrece una forma ordenada de tener acceso a campos privados mediante lo que se denomina métodos de descriptor de accesoget y set.

En el ejemplo de código siguiente declara una propiedad denominada Species para la clase Animal, que resume el acceso a la variable privada denominada name:

public class Animal
{
    private string name;

    public string Species
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }
}

A menudo, la propiedad tendrá el mismo nombre que el miembro interno al que tiene acceso, pero con una letra mayúscula inicial, por ejemplo, Name en el caso anterior o el miembro interno tendrá un prefijo _. Observe también el parámetro implícito denominado value que se utiliza en el descriptor de acceso set; éste tiene el tipo de la variable miembro subyacente.

De hecho, los descriptores de acceso se representan en forma interna como métodos get_X() y set_X() para mantener la compatibilidad con los lenguajes basados en .NET Framework, que no admiten descriptores de acceso. Una vez que una propiedad está definida, es muy fácil obtener o establecer su valor:

class TestAnimal
{
    static void Main()
    {
        Animal animal = new Animal();
        animal.Species = "Lion";                   // set accessor
        System.Console.WriteLine(animal.Species);  // get accessor

    }
}

Si una propiedad sólo tiene un descriptor de acceso get, es una propiedad de sólo lectura. Si sólo tiene un descriptor de acceso set, es una propiedad de sólo escritura. Si tiene ambos, es una propiedad de lectura y escritura.

Vea también

Conceptos

Guía de programación de C#

Referencia

Propiedades (Guía de programación de C#)

Otros recursos

Lenguaje de programación C# para desarrolladores de Java