这些似乎是同一个意思。但在什么情况下用什么词更合适呢?
<property attribute="attributeValue">proopertyValue</property>
这是看待它的一种方式。
在C#中
[Attribute] public class Entity { private int Property{get; set;};
Delphi使用了属性,并且它们已经找到了进入.NET的方法(因为它具有相同的架构)。
在Delphi中,它们通常与运行时类型信息结合使用,以便集成的属性编辑器可用于在设计时设置属性。
属性并不总是与字段相关。它们可能是有副作用的功能(当然,这是非常糟糕的设计)。
在Python中..
class X( object ): def __init__( self ): self.attribute def getAttr( self ): return self.attribute def setAttr( self, value ): self.attribute= value property_name= property( getAttr, setAttr )
属性(Property)是包装setter、getter(和deleter)函数集合的单个类似于属性的名称。
属性通常是另一个对象中的单个对象。
话虽如此,但Python为您提供了__getattr__这样的方法,它们允许您扩展“属性”的定义。
__getattr__
底线-他们几乎是同义词。Python在技术上区分了它们的实现方式。
这些术语的确切含义在很大程度上取决于你所谈论的语言/系统/宇宙。
例如,在HTML/XML中,属性是带有等号和值的标记的一部分,而属性没有任何意义。
所以我们需要更多关于你所讨论的领域的信息。
在Java(或其他语言)中,使用属性(Property/Attribute)取决于用法:
值不经常更改时使用的属性(通常在启动时使用或用于环境变量)
属性是元素(对象)的值(对象子),它可以经常/一直更改,并且可以是或不是持久性的
通常使用 属性来描述机制或现实世界中的事情。
财产用于描述模型。
例如,一份文件(放在你的桌子上)可能具有草稿的属性。
为文档建模的类有一个属性来指示它是否是草稿。在这种情况下,属性捕获状态。
在一般的术语(和正常的英语用法) ,这些术语意味着同样的事情。
在 HTML/JavaScript 的特定上下文中,这些术语会被混淆,因为 DOM 元素的 HTML 表示有 属性(这是 XML 中用于表示包含在标记中的键/值对的术语) ,但是当表示为 JavaScript 对象时,这些属性显示为对象 物业。
为了进一步混淆,对属性的更改通常会更新属性。
例如,更改 element.href 财产将更新元素上的 href 属性,这将反映在对 element.getAttribute('href')的调用中。
element.href
href
element.getAttribute('href')
然而,如果您随后 读该属性,它将被规范化为一个绝对 URL,即使 属性可能是一个相对 URL!
在 HTML 中,属性似乎是特定于 DOM 树的,而属性则用于描述 DOM 元素的特征
属性和属性的区别是什么? 特征和功能的区别是什么? 性格和个性的区别是什么? 行为和行为的区别是什么?
这只是语境的改变。
对象,产品,个性,人
行为中的人。 一个人的性格具有特定的性格特征。 产品具有派生功能的特性。 对象具有赋予其属性的属性。
属性是您在 HTML 标记中使用的实际内容,如
<input type="checkbox" checked="checked" />
在此实例中,类型和选中的是属性。不过,属性是这些属性的值,浏览器将其保存在 DOM 元素中。通常,属性和属性的值是相等的,这就是为什么它如此令人困惑。
在此示例中,DOM 元素 input具有值为 "checkbox"的属性 type和值为 true的属性 checked(请注意此值与 HTML 属性内的值有何不同)。
input
"checkbox"
type
true
checked
使用 Firebug,您可以在单击一个元素并选择“ DOM 视图”时观察属性的行为。
这些词在计算机科学出现之前就已经存在了。
属性是 我们归因于对某人或某事的一种性质或对象。例如,权杖是权力和国家的属性。
属性是指 没有任何归属。例如,粘土具有粘合性质,也就是说,粘土的一个特性就是它的粘合性质。另一个例子: 金属的一个特性是电导率。属性通过物理现象来证明自己,而不需要把它们归属于某人或某事。出于同样的原因,说某人有男子气概是不言而喻的。实际上,你可以说一个财产是由某人或某物拥有的。
不过公平地说,在计算机科学领域,这两个词至少在大多数情况下可以互换使用——不过话又说回来,程序员通常没有英国文学方面的学位,也不怎么写或关心语法书:)。