Las propiedades son una forma útil de expresar una característica de un objeto, permitiendo obtener/establecer de una manera común que puede ser utilizada por las API como el enlace de datos, la reflexión y la serialización. Por lo tanto, para los valores simples del objeto, las propiedades son útiles. Las propiedades no pueden tomar argumentos, no deben tener efectos secundarios significativos *, y deben regresar de forma rápida y repetible. Además, no existe una "propiedad de extensión" (para reflejar un método de extensión) ni una propiedad genérica.
(* = perezoso de carga, etc. No es raro, sin embargo)
Métodos (C# no tiene funciones) son mejores para expresar las cosas que, o bien el cambio el estado, o que tienen una expectativa de tomar un tiempo y no necesariamente reproducible. No tienden a trabajar en vinculante/serialización, etc.
Tenga en cuenta que las propiedades son en realidad una forma especial de escribir métodos. Hay poca diferencia funcional. Se trata de expresar intención. Lo único que no quiere querer exponer, sin embargo, es campos (la variable de instancia real intEmployeeAge
).
por lo que tendría:
public int EmployeeAge { get{return intEmployeeAge}; }
o simplemente (si en el objeto Employee
):
public int Age { get{return intEmployeeAge}; }
Por supuesto ... entonces la pregunta es: "¿En qué unidad?" Supongo que son años?
buena respuesta .... –
/agreeed. De manera simple, las propiedades están diseñadas para exponer campos privados fuera de la clase para garantizar que no se produzcan cambios bruscos si se revisa la arquitectura de clase. – JoeBilly
@JoeBilly - bueno, puedes hacer un * bit * más que eso sin que se vuelva demasiado complicado. Pero lo simple es tan simple, dicen. –