Compartir a través de


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

Conceptos

Métodos de una clase

Referencia

Item (Propiedad, objeto Collection)