En informática , un atributo es una especificación que define una propiedad de un objeto , elemento o archivo. También puede hacer referencia o establecer el valor específico para una instancia dada de estos. Para mayor claridad, los atributos deberían considerarse más correctamente metadatos . Un atributo es con frecuencia y generalmente una propiedad de una propiedad. Sin embargo, en el uso real, el término atributo puede y a menudo se trata como equivalente a una propiedad dependiendo de la tecnología que se esté analizando. Un atributo de un objeto generalmente consta de un nombre y un valor. Para un elemento, estos pueden ser un nombre de tipo y clase, mientras que para un archivo pueden ser un nombre y una extensión, respectivamente.
Los formatos de archivos de imágenes (por ejemplo, JPEG , PNG y BMP ) no se decodifican utilizando las mismas operaciones (por muy similares que parezcan las imágenes, todos son formatos de datos gráficos). De manera similar, un lenguaje de programación no utiliza las mismas operaciones para evaluar un número de punto flotante y enteros largos.
Por ejemplo, en gráficos de computadora, los objetos de línea pueden tener atributos como grosor (con valores reales), color (con valores descriptivos como marrón o verde o valores definidos en un modelo de color determinado, como RGB), atributos de trazos, etc. Un objeto de círculo se puede definir con atributos similares más un origen y un radio. En referencia a los sistemas informáticos, los atributos se definen particularmente para lectura o escritura, atributos para lectura o escritura específicas.
Si el elemento en cuestión pudiera considerarse una propiedad ( CUSTOMER_NAME
) de otra entidad (digamos CUSTOMER
), el elemento puede tener cero o más atributos (propiedades) propios ( CUSTOMER_NAME
es de TYPE = "KINDOFTEXT"
).
En el lenguaje de programación C# , los atributos son metadatos adjuntos a un campo o un bloque de código como ensamblajes , miembros y tipos , y son equivalentes a las anotaciones en Java . Los atributos son accesibles tanto para el compilador como programáticamente a través de la reflexión . Por el contrario, las propiedades, en la terminología de C#, son miembros de una clase que sintácticamente se utilizan como variables de instancia (o clase), pero se implementan como un par de funciones getter/setter. (En ausencia de un setter, las propiedades son de solo lectura).
Los usuarios del lenguaje ven muchos ejemplos en los que se utilizan atributos para abordar cuestiones transversales y otros usos mecanísticos o de plataforma, lo que crea la falsa impresión de que ese es su único propósito.
Su uso específico como metadatos queda en manos del desarrollador y puede abarcar una amplia gama de tipos de información sobre cualquier aplicación, clases y miembros que no sean específicos de la instancia. La decisión de exponer un atributo determinado como una propiedad también queda en manos del desarrollador, al igual que la decisión de utilizarlos como parte de un marco de aplicación más amplio.
Los atributos se implementan como clases derivadas de . A menudo, los utilizan los servicios CLR , como la interoperabilidad COM , la comunicación remota y la serialización , y se pueden consultar en tiempo de ejecución.System.Attribute
El ejemplo muestra cómo se definen los atributos en C#:
[Obsolete("Use la clase C1 en su lugar", IsError = true)] // provoca un mensaje del compilador que dice public class C {...} // que C está obsoleto public class ObsoleteAttribute : Attribute { // el nombre de la clase termina con "Attribute" public string Message { get ; } // pero se puede usar como "Obsolete" public bool IsError { get ; set ; } public ObsoleteAttribute () {...} public ObsoleteAttribute ( string msg ) {...} public ObsoleteAttribute ( string msg , bool error ) {...}} [Obsoleto] [Obsoleto("Esto es obsoleto")] [Obsoleto("Esto es obsoleto", falso)] [Obsoleto("Esto es obsoleto", IsError = falso)]
Los parámetros posicionales, como el primer parámetro del tipo cadena mencionado anteriormente, son parámetros del constructor del atributo. Los parámetros de nombre, como el parámetro booleano del ejemplo, son una propiedad del atributo y deben ser un valor constante. [1]
Los atributos deben contrastarse con la documentación XML que también define metadatos, pero no está incluida en el ensamblaje compilado y, por lo tanto, no se puede acceder a ella mediante programación.
Muestra el atributo y la propiedad marcados de una casilla de verificación a medida que cambian.
<!doctype html> < html lang = "es" > < head > < body > < input name = "comida" type = "comida" id = "comida" > < meta charset = "utf-8" > < title > attr demo </ title > < style > p { borde ; 1px negro sólido ; familia de fuentes ; arial, sans-serif ; alineación del texto al centro ; } b { color : azul ; } </ style > < script src = "https://code.jquery.com/jquery-1.10.2.js" ></ script > </ head > < body > < input id = "check1" type = "checkbox" checked = "checked" > < label for = "check1" > Compruébalo </ label > < p >/ p > < script > $ ( "entrada" ) . cambio ( función () { var $entrada = $ ( this ); $ ( "p" ). html ( ". attr ( 'marcado' ): <b>" + $entrada . attr ( "marcado" ) + "</b><br>" + ". prop ( 'marcado' ): <b>" + $entrada . prop ( "marcado" ) + "</b><br>" + ". is ( ':marcado' ): <b>" + $entrada . is ( ":marcado" ) + "</b>" ); }) . cambio (); </ script > </ cuerpo > </ html >
. attr ( 'marcado' ) : marcado . prop ( 'marcado' ) : falso . is ( ':marcado' ) : falso
. attr ( 'marcado' ) : marcado . prop ( 'marcado' ) : verdadero . is ( ':marcado' ) : verdadero
En muchos sistemas de bases de datos posrelacionales o multivalor , en relación con SQL, las tablas son archivos, las filas son elementos y las columnas son atributos. Tanto en la base de datos como en el código, atributo es sinónimo de propiedad y variable, aunque los atributos se pueden definir con más detalle para que contengan valores y subvalores.
La primera de estas bases de datos fue el sistema operativo Pick . Dos plataformas actuales son Universe de Rocket U2 y Caché de InterSystems .
En XML , un atributo es una construcción de marcado que consiste en un par de nombre/valor que existe dentro de una etiqueta de inicio o una etiqueta de elemento vacío . Los lenguajes de marcado, como HTML y XML , utilizan atributos para describir datos y el formato de los mismos.
Un buen ejemplo es el proceso de XML que asigna valores a propiedades (elementos). Tenga en cuenta que el valor del elemento se encuentra antes de la etiqueta de cierre (separada), no en el elemento en sí. El elemento en sí puede tener una serie de atributos definidos ( NAME = "IAMAPROPERTY"
).
Si el elemento en cuestión pudiera considerarse una propiedad ( CUSTOMER_NAME
) de otra entidad (digamos CUSTOMER
), el elemento puede tener cero o más atributos (propiedades) propios ( CUSTOMER_NAME
es de TYPE = "KINDOFTEXT"
).