Smalltalk 中类方法的实现与类结构的替代方案
1. 继承与方法搜索机制
在面向对象编程里,继承是极为重要的组成原则。SmaViM 会严格按照类层次结构来搜索类,也就是从一个类开始,搜索它的超类,再到超类的超类,直至最终到达 Object 类。而且,继承原则不仅适用于类实例的结构和行为,也适用于类本身,这意味着一个类会从其超类继承类方法。
虽然由于 Smalltalk 的实现方式,实际情况并非完全如此,但为了简化理解,我们可以假设 Object 类包含一个类方法 new ,其中编写了在虚拟机内存中创建新对象的逻辑。这就表明,每个新类都能理解 new 消息,因为每个类都直接或间接地派生自 Object 类。
2. 方法的实现
2.1 方法定义的结构
方法定义通常包含以下几个部分:
- 消息或调用模式 :展示了将与该方法对应的消息发送给对象时的写法。例如,对于一元消息,消息模式仅由消息选择器组成。
- 注释 :用于描述方法的任务和结果。
- 临时变量声明 :若需要,临时变量会在两个竖线 (|) 之间声明。
- 方法体 :包含实现任务所需的 Smalltalk 表达式,也就是算法部分。
以 Circle 类的
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



