此條目需要补充更多。 (2022年4月6日) |
计算机科学中,特性(英語:attribute)是一种规格,用于定义对象、元素或文件的(属性)(property),它也常被译作“属性”。也用作指向这样的实例或给实例设置值(即特性可以读写访问)。特性可以更准确地理解为元数据。 特性通常是属性的属性(property of a property)。但在实际使用中,依所讨论的技术领域不同,特性与属性可等价地混为一谈。对象的特性通常是名字与值组成;元素的特性通常是类型或类名;文件的特性通常是文件名与扩展名。
各领域的用法
如果一个元素被视作另一实体(例如CUSTOMER
)的一个属性(property,例如CUSTOMER_NAME
),则这个元素自身可以有零或多个特性attributes(或属性properties) ,如CUSTOMER_NAME
可有TYPE = "KINDOFTEXT"
。
C#
C#语言中,特性是元数据,附加于字段或代码块,如(assemblies)、(成员变量)、数据类型,等价于(Java注解)。编译器与(反射式编程)可访问特性。
开发者可以决定把特性作为元数据,专门用于表示与给定应用程序,类和成员有关的,与实例无关的各类信息。开发者也可以决定把一些特性暴露为属性(properties),用作更大的应用程序框架的一部分。
特性可以实现为类(派生自System.Attribute)。可用作(CLR)服务,比如COM互操作、(remoting)、序列化,可在运行时查询。
下例在C#中定义特性:
[Obsolete("Use class C1 instead", IsError = true)] // causes compiler message saying public class C {...} // that C is obsolete public class ObsoleteAttribute: Attribute { // class name ends with "Attribute" public string Message{ get; } // but can be used as "Obsolete" public bool IsError{ get; set; } public ObsoleteAttribute() {...} public ObsoleteAttribute(string msg) {...} public ObsoleteAttribute(string msg, bool error) {...}} [Obsolete] [Obsolete("This is obsolete")] [Obsolete("This is obsolete", false)] [Obsolete("This is obsolete", IsError = false)]
位置参数如上例中的string类型首参,是特性类的构造函数的实参。具名参数,如上例中的Boolean实参,是特性类的属性(property)。
HTML & JavaScript
当一个checkbox变化时,显示被checked的特性与属性:
<!doctype html> <html lang="en"> <head> <body> <input name="food" type="meal" id="meal"> <meta charset="utf-8"> <title>attr demo</title> <style> p { border;1px solid black; font-family; arial, sans-serif; text-align center; } b { color: blue; } </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">Check me</label> <p></p> <script> $( "input" ) .change(function() { var $input = $( this ); $( "p" ).html( ".attr( 'checked' ): <b>" + $input.attr( "checked" ) + "</b><br>" + ".prop( 'checked' ): <b>" + $input.prop( "checked" ) + "</b><br>" + ".is( ':checked' ): <b>" + $input.is( ":checked" ) + "</b>" ); }) .change(); </script> </body> </html>
点击前
.attr( 'checked' ): checked .prop( 'checked' ): false .is( ':checked' ): false
点击后
.attr( 'checked' ): checked .prop( 'checked' ): true .is( ':checked' ): true
多值数据库
许多非关系型数据库或数据库系统,表对应于文件,行对应于item,列对应于特性。
XML
XML中,一个特性是一种标记结构,由名字/值对组成,存在于一个start-tag或empty-element tag中。
参见
- (键值对)
- (文件属性)
- (扩展文件属性)
- (字段)
- (属性 (编程))
- 元数据
参考文献
- Mössenböck, Hanspeter. Advanced C#: Variable Number of Parameters (PDF). http://ssw.jku.at/Teaching/Lectures/CSharp/Tutorial/: Institut für Systemsoftware, Johannes Kepler Universität Linz, Fachbereich Informatik: 44. 2002-03-25 [2011-08-08]. (原始内容 (PDF)于2011-09-20).
維基百科,wiki,書籍,書籍,圖書館,文章,文章,閱讀,下載,免費下載,免費下載,MP3,視頻,MP4,3GP,JPG,JPG,JPEG,JPEG,GIF,PNG,PNG,圖片,音樂,音樂,音樂,歌曲,電影,電影,書籍,書籍,遊戲,遊戲,遊戲,遊戲,手機,電話,Android,iOS,Apple,手機,三星,iPhone,Xiomi,xiaomi, 小米,Redmi,Honor,Oppo,Nokia,Sonya,MI,個人電腦,網絡,電腦