所有的事物在Smalltalk中都是对象,所有的工作都是通过向对象发送消息完成。
所有的事物,包括数字,字符串,窗口,编译器和交互式开发环境都是对象。对象间的通信通过向其他对象发送消息完成,并且任何事物在Smalltalk中通过向对象发送消息来触发。编写Smalltalk程序包括定义新的对象,以及扩展和重新使用已经存在的对象。
Smalltalk的基本程序是一些表达式,如下:
'abc' asUppercase
一个表达式由一个执行消息的接收对象(‘abc’)和一个消息(asUppercase)组成。接受者在前,消息在后。把一个Smalltalk表达式想象成向一个接收者发送一个命令并执行,就像说英语一样。
dog bark! 或者 car go!
表达式 ‘abc’ asUppercase 是一个让’abc’ 转换自己为大写字母的命令。我一会告诉你如何去执行一个表达式,但首先看一些Smalltalk表达式其他的例子。被双引号括起来的内容是注释。
3 squared
“接受者是一个整形对象3,消息是squared。这是一个让对象3进行计算,并且返回该整形对象平方值的命令”
'abc' reverse
“接受者是字符串对象’abc’,消息是 reverse。这是一个让对象’abc’计算并返回它翻转后的字符串的命令”
200 factorial
“接受者是字整形对象200,消息是 factorial。这是一个让对象200计算并返回它的阶乘的命令”
执行这些例子,查看结果的步骤如下所示:
--就像在文字处理程序里一样,在workspace里用鼠标左键选择这些文本,或者文本行的开头双击鼠标左键
--用右键菜单里的 Print it 操作命令执行选择的内容
不要尝试一起执行这三个语句,Smalltalk会把它们当成一个有错误的大的语句来处理,应该一个一个的执行。
顺便说一句,你可以在VisualWorks的任何文本编辑窗口输入和计算Smalltalk表达式,并不只是在Workspace里。无论怎么说,我还是建议你打开另外的新的工作空间执行用于测试的表达式。可以通过Tools->Workspace,或者单击工具栏上的open a new workspace 按钮来创建新的Workspace。
Smalltalk基础知识系列02:对象和消息之一切皆对象
最新推荐文章于 2021-05-14 19:59:45 发布