Propiedades frente a métodos
Actualización: noviembre 2007
Las propiedades y los métodos son similares en que ambos se implementan como procedimientos que aceptan argumentos. En general, las propiedades almacenan datos para un objeto, y los métodos son acciones cuya realización puede pedirse a un objeto. Algunas características de objeto son claramente propiedades, como Name, mientras que otras son evidentemente métodos, como Move y Show. En otros casos, no resulta obvio qué miembros de una clase deberían ser propiedades y cuáles deberían ser métodos. Por ejemplo, el método Item de una clase de colección almacena y recupera datos, y puede implementarse como una propiedad indizada. Por otra parte, también resulta razonable implementar Item como un método.
Sintaxis de propiedades frente a sintaxis de métodos
Una forma de decidir cómo implementar un miembro de una clase consiste en considerar cómo se desea utilizar. Aunque la sintaxis para recuperar información de una propiedad parametrizada es casi idéntica a la utilizada con un método implementado como función, la sintaxis para modificar tal valor es algo diferente. Por ejemplo, si implementa el miembro de una clase como propiedad, la sintaxis siguiente describe cómo debería utilizarse:
Objeto.Propiedad(Índice) = NuevoValor
Si implementa el miembro de la clase como método, el valor que se modifica debe ser un argumento. El fragmento de código siguiente describe el uso de sintaxis equivalente:
Objeto.Propiedad(Índice, NuevoValor)
Mensajes de error
Otro factor a considerar a la hora de elegir cómo implementar un miembro de una clase es qué tipo de mensajes se generarán cuando la clase se utilice incorrectamente. Si alguien intenta accidentalmente asignar un valor a una propiedad de sólo lectura, el mensaje de error devuelto es distinto del que se obtendría en respuesta a una llamada similar a un método. Los miembros de una clase implementados correctamente devuelven mensajes de error que son más fáciles de interpretar.
Vea también
Tareas
Cómo: Agregar campos y propiedades a una clase