Oop 自我与闲聊的区别
我只是想知道是什么让Self和Smalltalk区别开来 这不是大猩猩对鲨鱼的问题。我并不是在寻找一个更好的原因,我只是对一个与另一个不同的定义感到困惑。经过大约两个小时的阅读和一些代码的修改,我觉得他们都是同一种语言(旁白:我终于理解了Smalltalk版本的“一切都是一个对象”。我必须说,这真是太棒了。哈哈!我还以为C已经钉好了……但它甚至没有接近这个!XD) 在过去几年的某个时候,我在某个地方读到了一些随机的东西:Oop 自我与闲聊的区别,oop,smalltalk,paradigms,selflanguage,Oop,Smalltalk,Paradigms,Selflanguage,我只是想知道是什么让Self和Smalltalk区别开来 这不是大猩猩对鲨鱼的问题。我并不是在寻找一个更好的原因,我只是对一个与另一个不同的定义感到困惑。经过大约两个小时的阅读和一些代码的修改,我觉得他们都是同一种语言(旁白:我终于理解了Smalltalk版本的“一切都是一个对象”。我必须说,这真是太棒了。哈哈!我还以为C已经钉好了……但它甚至没有接近这个!XD) 在过去几年的某个时候,我在某个地方读到了一些随机的东西: Smalltalk分配和消息/消息传递是唯一的事情 然而,在自我中,它们
- Smalltalk分配和消息/消息传递是唯一的事情 然而,在自我中,它们不是对象,甚至是这些 事物在对象框架中占有一席之地
- “自我是更纯粹的面向对象的智慧 而不是闲聊”。我还没有找到更具体的细节
self
很明确- 普通对象:
或()
(使插槽的缺失显式)(| |)
- 复制的对象:
someObject复制
托比亚斯列出了关键的区别,所以请阅读他的答案 从某种意义上说,Self就是Smalltalk。Self和Smalltalk-80(如Squeak或VisualWorks)之间的区别小于Smalltalk-80和Smalltalk-72之间的区别。它们看起来非常相似,因为它们是相关的 有一句自语——“Self就像Smalltalk,只是更像”。你喜欢消息吗?我们什么都用它们。你喜欢对象吗?我们的对象是真正的自包含的,不仅仅是类的实例。你喜欢概念上的小语言吗?嗯,我们只有对象、插槽和消息等等
Object new
Object subclass: #MyObjects instanceVariableNames: 'foo bar'. "…"
MyObject new.
( | foo. bar | )
OrderedCollection new.
list copy.
Object subclass: #MyObject. "…"
( | parent* <- list | )