元类是指类的类,也就是类当作对象时它的类。
元类的作用主要是可以用它来创建各种类。我们知道在面向对象编程里通过类可以实例化对象,而在动态模型编程里,对象也可以通过它的类编辑出来的,所以如果能够找到元类,那么理论上就可以通过元类创建各种类,接着再用类可以构建出各种对象了。
元类在动态模型编程中有时也称为元事物。
发现元类可以从计算XML的结构的结构开始。
需要注意的是,这里的XML只是只有节点和属性构成的简单XML,而其它更多的XML语法则不考虑,如节点之间的文本如<text>abcd</text>就不是考虑的对象了。
这里提出一个定义简单XML结构的简单方法,就是只描述XML的节点和属性的名字,用<thing name="xxx"/>来描述一个XML节点的名字,用<attribute name="xxx"/>来描述一个节点属性的名字。
我们可以用这个方法来计算任何一个简单XML的结构,比如下面的XML。
<Person name="Tom" age="40"> <Child name="Smith" age="10"/> </Person>
上面的XML的结构计算结果如下。
<thing name="Person"> <attribute name="name"/> <attribute name="age"/> <thing name="Child"> <attribute name="namge"/> <attribute name="age"/> </thing> </thing>
通过上面的方法,可以计算任何一个简单XML的结构,最后会发现任意简单XML的结构的结构是唯一的,就是下面的XML。
<thing name=”thing”> <attribute name=”name”/> <thing name=”attribute”> <attribute name=”name”/> </thing> <ting name=”thing”> <attribute name="name"/> <thing name="attribute"> <attribute name="name"/> </thing> <thing name="thing"> ... </thing> </thing> </thing>
这是一个每次节点都相同的,有无限深节点的一个XML,它的结构是它自己。
在动态模型编程房里,模型就是像简单XML这样的数据,并且在动态模型里模型是对象,在动态模型里我们也把模型的结构作为对象的类,这样XML的结构的结构也就是对象的类的类了,从而找到了元类
Copyright © 2007-2017 XWorker.org 版权所有