« 連載: Smalltalk use: better《1》始めの一歩、末の千里★ | トップページ | 連載: Smalltalk use: better《3》3つの基本要素:リテラル★ »

2006年5月 9日 (火)

連載: Smalltalk use: better《2》3つの基本構文★

キーワード ◆ オブジェクト・オブジェクト指向・キーワードメッセージ式・セレクター・メッセージ・リターンオブジェクト・引数・単項メッセージ式・二項メッセージ式

※ PDF でご覧になるなら ⇒ 「piyo60509.pdf」をダウンロード

------------ 序 ------------

県民を満足させる政治ではなくて             
県民が満足できるサービスだ
県民は主語だ

「21世紀臨調」代表 北川正恭

◆ オブジェクト指向の基本的な概念は「オブジェクトにメッセージを送ると、オブジェクトが得られる」という言葉で説明できます。これは「オブジェクトにある依頼をして、必要なサービスを享受する」ための行為と見なせます。つまり、「オブジェクトが、必要なサービスを提供する」ということです。オブジェクトが語となり、そこに、オブジェクトの主体性が期待されるのです。

◆ 千里の道も一歩から。まず、基本構文から学びます。何事も基本が大切ですので、しばらくはご辛抱ください。

------------ 本文 ------------

◆ Smalltalk は、言語仕様がとても小さく、理解するのも容易です。単に文法を説明するだけなら、A4サイズの紙一枚もあれば十分です。すべてが「オブジェクトとメッセージ」で構成されているので、とても単純かつ強力で、その概念が首尾一貫しています。それは、体脂肪率を一桁にまで絞り込んだ、アスリートの肉体美を彷彿とさせます。

60509a_3

◆ Smalltalk には、英語の5文型に相当するものとして、3つの文型があります。まず、これを理解することから始めます。

  1. 単項メッセージ式
  2. 二項メッセージ式
  3. キーワードメッセージ式

これらに共通するのは「オブジェクトにメッセージを送ると、オブジェクトが得られる」ということです。

 

単項メッセージ式 ◆ Smalltalk

60509b_1

3 factorial          "6"

 

二項メッセージ式 ◆ Smalltalk

60509c_2

3 + 4          "7"

キーワードメッセージ式 ◆ Smalltalk

60509d_4

3 lcm: 4          "12"

60509e_2

3 between: 2 and: 4          "true"

※ これらを Java 擬で表現すると、次のようになります。

  3.factorial()
  3.+(4)
  3.lcm_(4)
  3.between_and_(2,4)

メッセージは、(1つの)セレクターと(任意の)引数によって構成されます。単項メッセージ式では、引数を必要としません。二項メッセージ式では、1つの引数を必要とします。キーワードメッセージ式では、任意の数(:と同じ数)の引数を必要とします。

セレクターには、さまざまな書式が規定されています。単項メッセージ式では、任意の識別子を指定します。二項メッセージ式では、1つまたは2つの記号を指定します。キーワードメッセージ式では、任意の識別子と「:」とを指定します。

引数には、任意のオブジェクトを指定します。

※ メッセージ式を評価して得られるオブジェクトは、コメントとして記述しています。たとえば、メッセージ式 3 factorial を評価する場合、オブジェクト 3 にメッセージ factorial を送ると、オブジェクト 6 が得られます。コメントとして "6" と記述してあるのは、このリターンオブジェクトを示したものです。

【Tips】基本文型

60509f_1

◆ 英語の基本文型で最も簡単なのは S+V です。3 factorial というメッセージ式は「3 に factorial を計算するように依頼する」とも読めますし「3 が factorial を計算する」とも読めます。すると、3 が主語(S)なら、factorial を動詞(V)と見なせます。

60509g_3

◆ 3 lcm: 4 というメッセージ式は「3 に 4 との lcm を計算するように依頼する」とも読めますし「3 が 4 との lcm を計算する」とも読めます。すると、3 が主語(S)なら、lcm を動詞(V)、4 を目的語(O)と見なせます。

==================================
真樹育未 著 ◆ 監修:小泉ひよ子とタマゴ倶楽部

|

« 連載: Smalltalk use: better《1》始めの一歩、末の千里★ | トップページ | 連載: Smalltalk use: better《3》3つの基本要素:リテラル★ »

JML/Java/Eclipse」カテゴリの記事

Squeak/Smalltalk」カテゴリの記事

.連載: Smalltalk use: better」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 連載: Smalltalk use: better《2》3つの基本構文★:

« 連載: Smalltalk use: better《1》始めの一歩、末の千里★ | トップページ | 連載: Smalltalk use: better《3》3つの基本要素:リテラル★ »