信息化的本质分享 http://blog.sciencenet.cn/u/Babituo

博文

以“计算者1”为例描述直接对象的构建和使用过程

已有 2926 次阅读 2011-8-6 17:51 |个人分类:基因软件开放实验室|系统分类:科研笔记| 基因软件, 运行环境

早先举例的“计算者1”就是一个加法器。
现在,假设需要在一个已建成的“软件世界”中构建一个计算者1的直接对象,来考察需要怎样的“软件世界”,在这个“软件世界”中需要如何操作,才能构建出“计算者1”,并将其投入运行?
根据定义,直接对象是取运行环境中已经存在的对象直接聚合形成的对象。
我们首先需要运行环境中能产生三个“数值”对象,我们向“软件世界”发出指令:“请给我创建三个数值对象:{A,B,C}”.
假设“软件世界”一直可以响应我们的指令并正确返回我们需要的结果,一连串的后续指令如下:
“请将这三个数值对象聚合起来,取名叫‘计算者1’”;
“请对‘计算者1’进行构建操作:‘增加计算规则’,选择计算操作‘加法’,选择A,B为加法输入,C为输出”;
“请将对“计算者1”的构建结果‘加法计算规则’定义为计算者1的一个功能操作,并命名为‘做加法’”;
“请显示‘计算者1’对象的特性”,对此,软件世界将显示“计算者1具有1个功能操作:“做加法”,2个输入属性A,B,1个输出属性C”;
到此,“软件世界”完成了“计算者1”直接对象的构建,此时,在“软件世界”中,并没有产生一个类型叫做“加法器类型”,而运行环境中确实建立了一个能做加法运算的对象,这个对象不属于任何一个定义“类”,它属于“直接对象类”这个预设类。
 
接下来看“计算者1”直接对象是如何运行的:
我们向“软件世界”发出如下指令:“请告诉我当前有什么对象?”,软件世界回答:“当前有个直接对象,叫‘计算者1’,它有1个功能操作叫‘做加法’”。软件世界并不告诉我们,另外还有三个数值对象A,B,C,因为这三个对象已经“隐藏”到“计算者1”内部去了。
于是,我们向“软件世界”发出指令,“请‘计算者1’做一次加法,我给的输入是1,2”。
软件世界立即回答:“‘计算者1’用1,2完成了一次‘做加法’功能操作,给出的结果是:3”。
“计算者1”运行过程演示完毕。
 
接下来演示以“直接对象”为基础“固化”类:
我们向软件世界发出指令:“请以‘计算者1’为例归纳一个‘类’,叫‘加法器’。”
软件世界立即返回:
完成如下‘类’的归纳定义:
类名:加法器;
包含虚例:数值a,b,c
包含功能操作: 操作名“做加法”,执行规则:加法运算,输入取a,b,输出取c。
归纳完毕。
 
接下来如果有人问软件世界现在有哪些类,软件世界会告知:当前有1个类,叫“加法器”类。
然后可以让软件世界创建一个“加法器”类的实例,叫“计算者2”。
接下来问软件世界有什么对象,他会告诉我们有“计算者1”和“计算者2”2个对象。当然,“计算者1”归属“直接对象”类,而“计算者2”则归属“加法器”类。如果让计算者2做一次加法,他的表现和计算者1的表现是一致的。
 
 
 
 


https://wap.sciencenet.cn/blog-33982-472495.html

上一篇:对象基因和带基因的对象
下一篇:用“基因对象”实现“计算者1”
收藏 IP: 183.33.132.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-30 22:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部