什么是属性?
属性( attribute )是编程语言结构的任意特性。属性在其包含的信息和复杂性等方面变化很大,特别是当它们能确定时翻译/执行过程的时间。属性的典型例子有:变量的数据类型、表达式的值、存储器中变量的位置、程序的目标代码、数的有效位数。 可以在复杂的处理(甚至编译程序的构造)之前确定属性。例如,一个数的有效位数可以根据语言的定义确定(或者至少给出一个最小值)。属性也可以在程序执行期间才确定,如(非常数)表达式的值,或者动态分配的数据结构的位置。不同的属性变化,甚至不同语言的相同属性都可能有完全不同的联编时间。在执行之前联编的属性称作静态的( static ),而只在执行期间联编的属性是动态的( dynamic )。 if-then-else 表达式的使用扩充了表达式的种类,它们可以通过有用的途径出现在属性等式中,在属性等式中,允许出现的表达式的集合称作属性文法的元语言( metalanguage )。通常我们希望元语言的内涵尽可能清晰,不致于引起其自身语义的混淆。我们还希望元语言接近于一种实际使用的编程语言,因为就像我们即将看到的一样,在语义分析程序中需要把属性等式转换成执行代码。在本书中,我们使用的元语言局限于算术式、逻辑式以及一些其他种类的表达式,再加上 if-then-else 表达式,偶尔还有 case 或 switch 表达式。 4.属性是对控件特征的描述。比如冰箱的高度、颜色、价格、产地等等是用来描述这台冰箱特征的,这些都是冰箱的属性;例如对于按钮控件的名称、显示的文字、背景色,背景图片等等。大多数控件都具有的属性称为公共属性:名称、标题、背景色、前景色等等。 5.在游戏中,也会有属性的存在,比如人物属性,常见的有攻击,防御,速度,智力,敏捷,力量,生命值,魔法值等;有物品属性,是用来对加成人物属性的,常见的有加攻击力,加防御力,加生命,加魔法,加抗性等。这类的虚拟属性,用一定数值来表现,一般来说数值越高,属性越好,在游戏中,特别是网络游戏中,属性好的虚拟道具有可能卖到很高的价钱 6.在逻辑学概念中,属性是对象的性质及对象之间关系的统称。 如事物的形状、颜色、气味、美丑、善恶、优劣、用途等都是事物的性质。大于、小于、压迫、反抗、朋友、热爱、同盟、矛盾、等都是事物的关系。而任何属性都是属于某种对象的。 对象(事物)的属性有的是特有属性,有的是共有属性。对象的特有属性是指为一类对象独有而为别类对象所不具有的属性。人们就是通过对象的特有属性来区别和认识事物的。如两足、无毛、直立行走、能思维、会说话、能制造和使用生产工具进行劳动是“人”的特有属性,从而将“人”与其他高等动物区分开。而有五官、四肢、有内脏和血液循环等则不仅为人所具有,也为其他高等动物所具有,我们称为共有属性。公有属性没有区别性。 在特有属性中,有些是本质属性,有些是非本质属性。本质属性是决定一事物之所以成为该事物而区别于其他事物的属性。某事物固有的规定性和与其他事物的区别性是本质属性的两个特点。如能思维、会说话、能制造和使用生产工具进行劳动,是“人”的本质属性。而人的其他特有属性,如无毛、两足、直立行走等则是非本质属性的,它仅有区别性而无质的规定性。可见,本质属性一定是特有属性,而特有属性不一定是本质属性。但是,有些事物的特有属性是由本质属性派生出来的,如人的直立行走,大拇指与四指分开就是由制造和使用生产工具进行派生出来的。 属性还可以分为固有属性和偶有属性。如果某种属性为某类事物全部成员所具有,则称为该类对象的固有属性;如果某种属性仅为某类事物部分成员所具有,则称为该类对象的偶有属性。以“商品”为例,“劳动产品”是商品的共有属性,也是商品的固有属性;至于“物美价廉”则是商品的偶有属性,因为并不是所有的商品都是物美价廉的。 概念反映对象及其特有属性是有不同层次的。最初形成的概念是浅层次的,浅层次的概念总是先反映对象的非本质的特有属性,日常生活使用的概念多属于这一类,可称为初级概念。进一步形成的深层次概念才反映事物的本质属性,科学研究和科学论著所使用的概念多属于这一类概念,可称为“科学概念”。只有当我们认识事物的本质属性并形成了科学概念时,才算真正认识了事物的本质。所以,概念也可定义为“反映思维对象及其本质属性的思维形态。” 一类对象往往具有多方面的本质属性,人们可以根据需要把对象的某一属性提到首要地位去研究,即人们可以从特定方面、不同的角度去研究某一对象。例如,“水”这一对象具有物理方面的本质属性,也具有化学方面的本质属性 。