“基因对象”是具有限定构建操作集合的直接对象,而限定的构建操作集合就是基因对象所带的“基因”。
基因对象的“基因”从何而来?有2条途径得到:
1.在软件世界中从现存对象中直接抽取;
2.在“基因创编器”中进行创建和编辑。
2条途径得到的基因是一致的,都是对某种限定性的构建操作集合的定义。
下面以“计算者1”为例叙述“在软件世界中从现存对象中直接抽取基因”的过程。
我们向“软件世界”发出指令,“请抽取‘计算者1’的基因,命名为‘加法器基因’。”
软件世界立即返回抽取结果:
基因名:加法器基因
原始基因:空
构建操作:构建加法器,构建步骤如下:
1.创建3个数值对象A,B,C;
2.增加计算规则,选择计算操作"加法",选择A,B为加法输入,C为输出;
3.对2的构建结果"加法计算规则"定义为一个功能操作,命名为"做加法";
基因抽取完毕。
可见,抽取的“基因”实际是构建直接对象时的构建操作指令的脚本。
该基因可单独保存,并可植入其他的软件世界,在其他软件世界中创生“加法器”实例对象。
当用户在“软件世界”中察看基因时,可查找到该基因;当用户选择“按基因创生对象”时,软件世界便运行基因脚本,生成一个“加法器”实例对象。
看上去,基因对象和类型定义区别不大,但实际的运作机制有本质的区别。基因是可移植的构建操作定义集合,可以移植嫁接到其他基因之上,而且是一种有条件动态执行的构建操作集合的组合,可根据用户的操作指令逐渐对对象实例进行相应的构建操作。而类型定义则是相对静态的对象结构的描述,只能根据固定的结构描述创建固定结构的对象实例。
https://blog.sciencenet.cn/blog-33982-472514.html
上一篇:
以“计算者1”为例描述直接对象的构建和使用过程下一篇:
信号与信息有什么区别?