adi*_*ius 4 smalltalk gnu-smalltalk
有什么区别
Rectangle origin: 5@5 extent: 40@30
Run Code Online (Sandbox Code Playgroud)
和
Rectangle new origin: 5@5 extent: 40@30
Run Code Online (Sandbox Code Playgroud)
Rectangle new origin: 5@5 extent: 40@30
创建一个完全初始化的 Rectangle 实例(准确地说,所有坐标都设置为 0),然后使用 origin:extend: 访问器方法设置其坐标和范围。
Rectangle origin: 5@5 extent: 40@30
让类 Rectangle 构造一个具有给定属性的 Rectangle 实例,但它认为合适。对于 GNU Smalltalk,它使用 basicNew 消息而不是 new 来分配 Rectangle 实例(请参阅 Rectangle 的源代码)。这放弃了上述变体的“完全初始化实例”状态:它跳过任何初始化并仅分配内存(好吧,GNU Smalltalk 文档没有明确说明,但这通常是 basicNew 的目的)。然后它使用 origin:extend: 访问器来初始化新实例的坐标和范围。
归档时间: |
|
查看次数: |
156 次 |
最近记录: |