投稿日:2008-08-03 Sun

Smalltalkで学ぶオブジェクト指向プログラミングの本質
割り切って、クラスは継承機能を伴った型、関数(メソッド)を特定のクラスに結び付けるクラス・メソッドの概念。この二つの概念さえ理解していれば再利用可能なプログラムを開発するためのオブジェクト指向の方法論としては充分だと思う。端的には、「オブジェクトにメッセージを送って」というフレーズに象徴されるのが前者で、「カプセル化・継承・多態性」といった“OOP三点セット”に象徴されるのが後者です。
本書で強調している「メタプログラミング」、「メタクラス」、「実行環境」の概念も難解で、却ってオブジェクト指向概念から読者を遠ざけると思う。オブジェクト指向を徹底させるため、「3+4」のような算術式もIntegerクラスのインスタンス「3」を主体オブジェクトとする解釈をし、if文やループ文もオブジェクト指向風に解釈するのです。
クラスの再利用性に関しては「オブジェクト指向における再利用のためのデザインパターン」等、定評ある本が存在するのだから、それを利用すれば良い。今話題のRubyやObjective-Cにあって、C++やJavaには求めにくい“パワー”の源はいったいどこから来ているのか、その謎を自ら体験しつつ解明したいと思う研究熱心な人に、本書をぜひおすすめしたいと思います。
△ PAGE UP


