程序原本(四十四):程序设计的核心思想——执行体与它在执行过程中的环境(船的原型与知识)

阅读数:28 2019 年 9 月 28 日 18:30

程序原本(四十四):程序设计的核心思想——执行体与它在执行过程中的环境(船的原型与知识)

下面是“一艘船”:

复制代码
// 代码基于 JavaScript 语法
function ship(people, water, checkShore)
{ do {
people.row(water);
}
while (!checkShore());
}

这艘船造得并不怎么好,但这是一个稍晚一些才会讨论的问题。在这里,我们先关注其中的要素,这包括既存的shippeoplewater。其中,ship()封装了:

  • 知识 1:rowpeople的一个行为;
  • 知识 2:row这一行为的使用;
  • 知识 3:checkShore这一检测行为的使用;
  • 知识 4:不断row直到checkShore得到正确结果这一过程。

除了ship()自身封装的上述知识之外,以下知识也是存在的:

  • 知识 5:如何实施row这一行为;
  • 知识 6:如何实施checkShore这一检测行为。

更进一步,上面的ship()还隐含了一个不确切的知识:

  • 知识 7:checkShore是谁的行为?

如果我们(我的意思是说,作为people的行船者)正确地理解与支持上述知识,那么ship()可以帮助你到达对岸。

我想已经有程序员开心得大叫起来:总算看到了“面向对象编程”(OOP,Object-Oriented Programming)了。

没那么快。

评论

发布