マンガで分かる Java入門講座

第7章 クラスとオブジェクト1
7-2. オブジェクト指向とは2

オブジェクト指向でのプログラムの作り方について、その概念を紹介します。

● スタンプと印影の関係

 Javaのオブジェクト指向では、スタンプを押して紙に印影を作るように、オブジェクトの雛形から、オブジェクトを作ります。

 たとえばウィンドウの上に載っているボタンは、ボタンの雛形が用意されています、そして、その雛形を利用してボタンを作り、ウィンドウ上に配置しています。

図)スタンプと印影の関係
   ┏┓
   ┃┃
┏━━┛┗━━┓
┃ボタンの雛形┃ポンッ!
┗━━━━━━┛
    ↓
┏━━━━━━┓ボタンを作成して
┃// ボタン //┃ウィンドウ上に配置
┗━━━━━━┛

● 値や機能を公開

 Javaのオブジェクト指向では、ボタンなどのオブジェクトには、外部に公開された値や機能が用意されています。

 オブジェクトを利用する人は、これらの値や命令を利用して、オブジェクトの状態を把握したり、挙動を操作したり、計算結果を受け取ったりします。

図)値や機能を公開
┏━━━━━━━━━━━┓
┃「ボタン」オブジェクト┃
┃……………………………┃
┃           ┠─○外向けの値
┃           ┠─○外向けの機能
┗━━━━━━━━━━━┛

● 値や機能を内包

 Javaのオブジェクト指向では、ボタンなどのオブジェクトの内部にも、値や機能が隠されています。

 機械が、壊れやすい中身を守るために箱に収められているように、オブジェクトは、外部に公開する必要がない値や命令は、外から操作されないように隠蔽されています。

図)値や機能を内包
┏━━━━━━━━━━━┓
┃「ボタン」オブジェクト┃
┃……………………………┃
┠─●内部の値     ┃
┠─●内部の機能    ┃
┗━━━━━━━━━━━┛

● 継承して改造/拡張

 Javaのオブジェクト指向では、ボタンなどの雛形を、「継承」して改造することができます。

 たとえば、「AbstractButton」というボタンの雛形には、ボタン共通の要素である、押されたかどうかを表す値や、描画用の命令が用意されています。

 この「AbstractButton」を継承した「JToggleButton」は、オンオフの表示を切り替えられる機能が追加されています。

 また、「JToggleButton」を継承した「JCheckBox」は、オンオフの代わりにチェックボックスが表示されるように改造されています。

 こうやって、Javaのオブジェクト指向では、手軽に新しい部品を作れるようになっています。

図)継承して改造/拡張
       ┏━━━┓
親 ボタン =┃ボタン┃
       ┗━━━┛

  トグル  ┏━━━┓ トグル
子 ボタン =┃ボタン┃+ボタンの
       ┗━━━┛ 追加機能

  チェック ┏━━━┓ トグル  チェック
孫 ボックス=┃ボタン┃+ボタンの+ボックスの
       ┗━━━┛ 追加機能 追加機能

この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/05/28  更新:2013/05/28  [Permalink]