ObjectSquare [1999 年 4 月号]

[Happy Squeaking!!]


5.Squeak演習: インターセッション

5.4 メタクラスの継承関係 つづき


メタのメタ、さらにメタ

メタの概念は相対的なものであり、どこを視点とするかで、無限に続いていくという話しを最初にしました。Smalltalkでは、これが、Metaclassのメタ関係の循環となって表れています。

先ほどの図でMetaclassに注目した場合、

Metaclass =meta => Metaclass class
        (Account =meta=> Account class と同じ)
Metaclass =generate=> Metaclass class
        (Metaclass =generate=> Account class と同じ)

という関係が成り立っているのです。

メタ関係を、Metaclass classを中心に書くと以下のようになっています。

拡大図(GIF, 5KB)
拡大図

標語風にいえば、
「MetaclassのclassはMetaclass class。Metaclass classのclassはMetaclass」
なのです。

以上がSmalltalkのメタモデルになります。難しいと思いますが、メタモデルを考えることは抽象的な思考の訓練にもなり、オブジェクト指向分析全般にも生きてきます。よくわからなかった場合は折りを見て振り返るようにしましょう。

では、演習ではこのメタモデルに手を加えていくことにします。


© 1999-2001 OGIS-RI Co., Ltd.

Prev.

Index

Next