オブジェクト指向アプローチ論 第3回
このページは,2007年前期まで実施されていた科目の補助教材ページです。既に履修し終わった方々
の参考のために公開を継続しています。したがって,内容が古いままのものが残っておりますので注意
して下さい。


※2007年度より実施されている2年生選択科目「オブジェクト指向プログラミングa」のページはここ
 ではありません。「オブジェクト指向プログラミングa」のページはこちらです。



●プログラムの実体はどの部分?「Javaを学ぶ 第2回 (2002年6月 P68)」

 ◆以下のList 1,4,5は,内容的には同じプログラムだが,List 1はプログラムの構造が
  把握しやすいのに対して,List 4, 5はプログラムの構造が把握しにくい。

List 1 "Hello.java" 構造を把握しやすい書き方
public class Hello {
  public static void main( String args[] ) {
    System.out.println( "hello!" );
  }
}

List 4 "Hello.java" 構造を把握しにくい書き方1
public class Hello {public static
void main( String args[] ) {System.out.println( "hello!" );}}

List 5 "Hello.java" 構造を把握しにくい書き方2
public class Hello
{public static void main( String args[] ) { System.out.println ("hello!") ;}}

 ◆List 1, 4, 5に含まれるプログラムの実体を下図に示す。

したがって,List 4, 5はプログラム的には間違っていない。しかし,プログラムには
「構造」があり,それを把握しやすいように書くことが大事である。

以下に,JavaやC言語のプログラムに現れる「構造」の典型的な形を示す。

この様な構造を見やすくするには,List 1のような書き方がよい(下図)。


見やすく書くには,「字下げ(indent)」というテクニックが有効である(下図)。


また,プログラムを書く鉄則に,「対応するカッコは先に書く」というものがある。


慣れないうちは,教科書やプリントのプログラムの構造を把握しやすくするために,蛍光ペンなどで
マーキングすると良い(下図)。プロでも長いプログラムや他人の書いたプログラムを読むときには,
マーキングをする。


プログラムの内容を把握しやすくする手段として,プログラムの中に注釈(コメント)を書く方法がある。


●クラスとは

クラス(class)とは,ある「事物」がどのようなものであるかを,プログラム上で表現したもの。
「事物」には,
  ・属性(データ)
  ・振る舞い(処理)
がある。したがって,これらを組み合わせれば,「事物」を表現できる。
このとき,
  ・属性(データ)は,変数で表現する
  ・振る舞い(処理)は,メソッド(C言語の関数にあたる)で表現する(下図)。
Javaのプログラムは,クラスを単位として構成されている。言い換えれば,
Javaのプログラムはクラスの集合体」なのである。


クラスの定義の仕方を下図に示す。


メソッドは,「事物」の「振る舞い」を表す。C言語の「関数」にあたる。
メソッドが実行されることで,プログラムは動作する。
メソッドの詳細については,後日学習する。ここでは,簡単な紹介だけにとどめる。

つまり,List 1のクラスHelloは,mainという1個のメソッドを持っていることになる。

●Javaの約束事
 Javaのプログラムでは,いくつか約束事がある(下図)。
  ・ファイルの中にクラスはいくつでも書けるが,先頭にpublicという単語が付いた
   クラス(publicクラス)は1個だけしか書けない

  ・ファイル名は,1個だけのpublicクラスのクラス名を使って,
     publicクラス名.java
   という名前にしなくてはならない(List 1の例では,Hello.java)。
  ・クラスファイルを実行するときは,そのクラスの
     public static void main( String args[] ) { }
   という形式のmainメソッドが実行される。