Una propiedad es una mezcla entre el concepto de campo y el concepto de
método. Externamente es accedida como si de un campo normal se tratase, pero
internamente es posible asociar código a ejecutar en cada asignación o lectura
de su valor. Éste código puede usarse para comprobar que no se asignen valores
inválidos, para calcular su valor sólo al solicitar su lectura, etc.
Una propiedad no almacena datos,
sino sólo se utiliza como si los almacenase. En la práctica lo que se suele
hacer escribir como código a ejecutar cuando se le asigne un valor, código que
controle que ese valor sea correcto y que lo almacene en un campo privado si lo
es; y como código a ejecutar cuando se lea su valor, código que devuelva el valor
almacenado en ese campo público. Así se simula que se tiene un campo público
sin los inconvenientes que estos presentan por no poderse controlar el acceso a
ellos.