三、具体对象和对象类
M语言中,具体对象会用一类ID表述,从而系统很容易辨识哪些ID指的是具体对象。这里我们为方便阅读,用ID1、ID2……表述具体对象。具体对象完全被它的属类属性参与的事件和其他对象的关系所决定。具体对象参与的结构信息包括具体对象属性、具体对象属类、具体事件、事件类等。
具体对象属性的表述类似:(具体对象=ID1,属性维度=属性)。比如:(具体对象=Lucyc,发色=红色)。具体对象属类的表述类似:(具体对象=ID1,属类=)。比如:(具体对象=Kittyc,属类=猫)
我们知道具体对象的属性和属类是会随时间变化的,所以这个信息在储存的时候还包含了时间信息。比如Peter,1988年的时候是个婴儿(具体对象=Peterc,属类=婴儿,时间=1988年),到了2018年的时候是成年人(具体对象=Peterc,属类=成年人,时间=2018年)。类似的,2018年小香槟体重10千克(具体对象=小香槟,体重=10kg,时间=2018年), 2020年小香槟体重15千克(具体对象=小香槟,体重=15kg,时间=2020年)。
具体对象如何参与到事件中,我们会在事件的表述中讨论。
对象类也是一类ID,也有自己专属的记忆空间,这里我们为方便阅读,用ID1*、ID2*……表述对象类。对象类参与的结构信息包括了前面说的对象属类、对象类属性、事件类等。
对象属类我们刚刚已经例举过。对象类属性,描述了对象类的一般特征,比如醋是酸的,血是红色的,在结构信息中表述就是:(对象类=醋c,味道=酸),(对象类=血液,颜色=红色)。对象类如何参与到事件类中,我们会在事件类表述中讨论。