Properties 属性和属性之间的区别是什么?

Properties 属性和属性之间的区别是什么?,properties,modeling,Properties,Modeling,这些似乎意味着同样的事情。但是什么术语在什么上下文中更合适呢?Delphi使用了属性,它们已经进入了.NET(因为它有相同的架构) <property attribute="attributeValue">proopertyValue</property> 在Delphi中,它们通常与运行时类型信息结合使用,这样就可以使用集成属性编辑器在designtime中设置属性 属性并不总是与字段相关。它们可能是有副作用的函数(但这当然是非常糟糕的设计)。在Python中 cla

这些似乎意味着同样的事情。但是什么术语在什么上下文中更合适呢?

Delphi使用了属性,它们已经进入了.NET(因为它有相同的架构)

<property attribute="attributeValue">proopertyValue</property>
在Delphi中,它们通常与运行时类型信息结合使用,这样就可以使用集成属性编辑器在designtime中设置属性

属性并不总是与字段相关。它们可能是有副作用的函数(但这当然是非常糟糕的设计)。

在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 )
属性是一个类似名称的单一属性,它封装了setter、getter(和deleter)函数的集合

属性通常是另一个对象中的单个对象

尽管如此,Python还是提供了类似
\uuu getattr\uuu
的方法,允许您扩展“属性”的定义


底线——它们几乎是同义词。Python在技术上对它们的实现方式进行了区分。

这些术语的确切含义将在很大程度上取决于您所谈论的语言/系统/宇宙

在HTML/XML中,属性是带有等号和值的标记的一部分,例如,属性并不意味着任何东西

因此,我们需要有关您正在讨论的域的更多信息。

在Java(或其他语言)中,使用属性/属性取决于用法:

  • 值不经常更改时使用的属性(通常在启动时使用或用于环境变量)

  • 属性是元素(对象)的一个值(对象子级),它可以经常/一直更改,并且可以是持久的,也可以不是持久的

通常使用属性来描述机制或现实世界中的事物

属性用于描述模型

例如,一个文档(坐在您的桌子上)可能具有草稿属性

为文档建模的类有一个属性来指示它是否是草稿。在本例中,属性捕获状态。

在一般术语中(以及在正常英语用法中),这些术语的含义相同

在HTML/Javascript的特定上下文中,这些术语会被混淆,因为DOM元素的HTML表示具有属性(即XML中用于标记中包含的键/值对的术语),但当表示为Javascript对象时,这些属性会显示为对象属性

为了进一步混淆,对属性的更改通常会更新属性

例如,更改
element.href
属性将更新元素上的
href
属性,这将反映在对
element.getAttribute('href')
的调用中


但是,如果您随后读取该属性,它将被标准化为绝对URL,即使该属性可能是相对URL

在HTML中,属性似乎是特定于DOM树的,而属性用于描述DOM元素的特征

属性和属性之间的区别是什么?
特性和功能之间的区别是什么? 性格和性格有什么区别? 行为和行为的区别是什么

这只是环境的变化

对象、产品、个性、人

一个人在一种行为中行动。 人格具有特定角色的特征。 产品具有衍生功能的功能。
对象具有赋予其属性的属性。

属性是您在HTML标记中使用的实际对象,如

<input type="checkbox" checked="checked" />

在此实例中,类型和选中的是属性。属性是这些属性的值,浏览器将其保存在DOM元素中。通常属性和属性的值是相等的,这就是为什么它如此令人困惑的原因

在本例中,DOM元素
input
的属性
type
带有值
“checkbox”
,属性
带有值
true
(请注意此值与HTML属性内的值有何不同)


使用Firebug,您可以在单击元素并选择“DOM视图”时观察属性的行为。

这些词在计算机科学出现之前就已经存在了

  • 属性是我们赋予某人或某物的属性或对象。例如,权杖是权力和国家的一种属性

  • 属性是一种不存在任何属性的性质。例如,粘土具有粘性;i、 粘土的一个特性是它的粘性。另一个例子:金属的特性之一是导电性。属性通过物理现象展示自己,而无需将其归因于某人或某物。同样,说某人具有男性特征也是不言而喻的。实际上,你可以说某个财产是由某人或某物拥有的


  • 公平地说,在计算机科学中,这两个词,至少在大多数情况下,可以互换使用——但程序员通常没有英国文学学位,也不写语法书,也不太关心语法书:)。

    你能更具体地描述上下文吗?例如,这些术语在C#上下文中的含义完全不同。@David Arno-不同的语言语法占用了一个或两个单词,但与特定语言的语法无关,其含义是否有差异?这不是一个坏问题。我认为这是一个坏问题。检查一个同义词表可以发现它们在实际语言中是同义词,但不同的计算机和元语言可能赋予它们不同的角色,因此它们可能不是特定计算机语言的同义词。所以背景就是一切。我更。。。。同情的。我记得
    <input type="checkbox" checked="checked" />