Smalltalk超类vs元类?

duk*_*uke 7 smalltalk metaclass superclass

我是OOP的新手,但具有"程序"背景.

我目前正试图通过GNU Smalltalk和Lovejoy的"Smalltalk:获取消息"来了解OOP.

我对metaclass和Metaclass类与超类相比很困惑.我可以看到超类的继承流 - > class - > subclass; 但是我不知道元类是如何适应的.TIA ......

Luk*_*gli 7

在免费的在线书籍Pharo by Example,Chapter 13(Classes and metaclasses)中有一个很好的描述.本章中解释的内容对于所有Smalltalk实现都是通用的.

  • 你应该包括回答这个问题的书的要点,而不是仅仅提到一个链接。一旦该链接被破坏,这个答案就不再有用 (2认同)

zne*_*eak 5

实际上有两个继承层次:实例继承和类继承。

Smalltalk具有一种特殊的方案,可以将作为对象传递。这意味着类本身也是对象。元类“简单地”是类对象的类。

它不会干扰正常的实例继承,因此它不适superclass -> class -> subclass用于您使用的图中的任何地方。