元类

1.类的类

    元类是指类的类,也就是类当作对象时它的类。

    元类的作用主要是可以用它来创建各种类。我们知道在面向对象编程里通过类可以实例化对象,而在动态模型编程里,对象也可以通过它的类编辑出来的,所以如果能够找到元类,那么理论上就可以通过元类创建各种类,接着再用类可以构建出各种对象了。

    元类在动态模型编程中有时也称为元事物。

2.发现元类

2.1.XML结构的结构

    发现元类可以从计算XML的结构的结构开始。

2.1.1.简单XML

    需要注意的是,这里的XML只是只有节点和属性构成的简单XML,而其它更多的XML语法则不考虑,如节点之间的文本如<text>abcd</text>就不是考虑的对象了。

2.1.2.定义简单XML的结构

    这里提出一个定义简单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>

2.1.3.任何简单XML的结构的结构是唯一的

    通过上面的方法,可以计算任何一个简单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,它的结构是它自己。

2.2.简单XML的结构的结构是元类

    在动态模型编程房里,模型就是像简单XML这样的数据,并且在动态模型里模型是对象,在动态模型里我们也把模型的结构作为对象的类,这样XML的结构的结构也就是对象的类的类了,从而找到了元类

 

 

 

Copyright ©  2007-2017 XWorker.org  版权所有

沪ICP备08000575号