继承是指一个模型可以继承另一个模型,从而拥有被继承模型的行为。
在面向对象编程中,人可以继承动物,而动物又可以继承于生物。在这里的继承关系里除了行为可以继承,属性也是可以继承的比如人也有动物和生物所定义的属性。然而在动态模型编程里并没有属性和子节点的关系,这又是怎么回事呢?
这是因为动态模型编程认为属性的实际上是定义的继承,即人这个模型上其实没有动物这个模型所包含的属性,而是动物这个模型定义了一个属性,那么人也有这个属性的定义。因此,正确的理解是,如果张三是人的实例,即张三的描述者是人,即张三的类和结构是人,那么张三具有人、动物和生物所定义的所有属性。
继承使用模型的名为extends属性来表示,比如B继承A,那么B模型是<B extends="A"/>。
人、动物和生物的继承关系。
<Creature name="Creature"/> <Animal name="Animal" extends="Creature"/> <Person name="Person" extends="Animal"/>
张三是人的实例,因此用描述者。
<Person name="Zhangsan" descriptors="Person"/>
Copyright © 2007-2014 XWorker.org 版权所有