小王.印刷('这是一份广告')
写 '完成'
小李.检查('论文一篇')
执行结果:
由王小明印 <html>;这是一份广告</html>; 完成 稿件长度为: 8
可以看到所谓的概念, 其实像是一整套完整的, 自给自足的小程式. 它包括了自己的变数 (称为属性), 自己的函数 (称为方法).
用概念的方法来为程式进行分工往往有很好的成效. 尤其是所写的功能可以很容易的重用. 这是因为在分析的过程中, 互相牵连的部份己经尽量分开了.
在上面的方法定义中, 我们并没有传回任何值. 一个更好的做法是传回概念本身:
... #定义另一个功能 定义 检查(自己, 稿件): 写 "稿件长度为:", 长度(稿件) 传回 自己 ...
我们可以这样调用: 小王.检查(稿).印刷(稿)
或者我们传回稿件:
... #定义另一个功能 定义 检查(自己, 稿件): 写 "稿件长度为:", 长度(稿件) 传回 稿件 ...
这样我们又可以用
小王.印刷(小王.检查(稿))
一个是以工作人员的动作为主, 一个是以稿件的流程为主. 这样写传回值, 实际操作时会带来很大方便
如果按上面的写法再写多几个概念出来, 写程式就可以更加接近日常的操作:
#假设己定义好概念
小王 = 印刷员('王小明')
小张 = 外勤('张三')
段总 = 编辑('段正淳')
老朱 = 会计('朱子柳')
#实际操作
作者 = '老粗'
老朱.开稿费(小张,500).拿稿件(作者).交编辑(段总).正稿().付印(小王).印刷()
哈, 好玩吗 ?