属性(计算)
在计算中,属性是定义对象,元素或文件的属性的规范。它还可以参考或为给定实例设置特定值。为了清楚起见,应更正确地将属性视为元数据。属性通常是属性的属性。但是,在实际用法中,术语属性可以并且通常被视为等同于属性,具体取决于所讨论的技术。对象的属性通常由名称和值组成。对于元素,这些可以是类型和类名称,而对于文件,这些可以分别是名称和扩展名。
规则和打字
- 规则:每个命名的属性都有一组相关的规则,称为操作:例如,一个人不会以与图像对象相同的方式汇总字符或操纵和处理整数数组。一个过程文本也不是浮点(十进制数字)的类型。
- 数据类型:以下是可以通过施加数据键入的数据键入来扩展对象定义,该数据键入可以由表示格式,默认值和法律操作(规则)和限制(例如“不容忍零的划分)为”)。所有可能涉及定义属性的所有可能涉及,或者相反,都可以将它们视为该对像类型的属性。
图片文件格式(例如JPEG , PNG和BMP )未使用相同的操作解码(无论图像外观多么相似 - 这些都是图形数据格式)。同样,编程语言也不使用相同的操作来评估浮点键入数字和键入长整数。
例如,在计算机图形学中,线对象可以具有诸如厚度(具有真实值)的属性(具有棕色或绿色的描述性值,或者在某个颜色模型中定义的值,例如RGB),dashing属性等。可以在类似属性以及原点和半径中定义一个圆对象。关于计算机系统,属性是针对特定读取或写入的读或写属性而定义的。
属性用法
如果所讨论的元素可以将其视为另一个实体的属性( CUSTOMER_NAME
)(例如, CUSTOMER
),则该元素可以具有其自己的零或更多属性(属性)( CUSTOMER_NAME
属于TYPE = "KINDOFTEXT"
)。
C#
在C#编程语言中,属性是元数据附加到一个字段或诸如组件,成员和类型之类的代码块,并且等效于Java的注释。编译器可以通过反射访问编译器和编程性访问属性。相比之下,c#术语中的属性是类似于实例(或类)变量的句法使用的类的成员,但被实现为一对getter/setter函数。 (在没有二传剂的情况下,属性仅读取。)
该语言的用户会看到许多示例,其中属性用于解决交叉切割问题以及其他机械或平台用途。这会产生一个错误的印象,即这是他们的唯一目的。
它们作为元数据的特定用途留给了开发人员,并且可以涵盖有关任何给定应用程序,类别和不特定实例的成员的广泛类型的信息。决定将任何给定属性作为属性公开的决定也将留给开发人员,而决定将其作为较大的应用程序框架的一部分。
属性被实现为从System . Attribute
。 CLR服务通常使用它们,例如COM互操作性,远程序列化,序列化,并且可以在运行时查询。
该示例显示了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)]
位置参数(例如上面类型字符串的第一个参数)是属性构造函数的参数。示例中的布尔参数之类的名称参数是属性的属性,应为恒定值。
属性应与也定义元数据但不包含在编译组件中的XML文档对比,因此无法通过编程方式访问。
HTML和JavaScript
在更改复选框时显示检查属性和属性。
<!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
多值数据库
在许多相对于SQL相对于SQL的评估后或多值数据库系统中,表是文件,行是项目,列是属性。在数据库和代码中,属性都是属性和变量的代名词,尽管属性可以进一步定义为包含值和子值。
这些数据库中的第一个是选择操作系统。当前的两个平台包括Rocket U2的宇宙和Intersystems的Caché 。
XML
在XML中,属性是一个标记结构,该标记构造由启动标签或空元素标签中的名称/值对组成。标记语言(例如HTML和XML )使用属性来描述数据和数据格式。
一个很好的例子是XML将值分配给属性(元素)的过程。请注意,该元素的值是在(单独的)末端标签之前找到的,而不是在元素本身中。该元素本身可能具有许多属性集( NAME = "IAMAPROPERTY"
)。
如果所讨论的元素可以将其视为另一个实体的属性( CUSTOMER_NAME
)(例如, CUSTOMER
),则该元素可以具有其自己的零或更多属性(属性)( CUSTOMER_NAME
属于TYPE = "KINDOFTEXT"
)。