いまから始めるアルゴリズム

新人編集者のJava学習物語 初級編

第4回 プログラムが恋人なんて悲しすぎるな

荒井亜子
2008/2/8

メソッドの呼び出しの例

 午後も、メソッドの続きだ。実際にメソッドの呼び出しの例を見てみよう。

新人 ソースコードをぱっと見ても、どこのメソッドが動いているのかよく分かんないよ

先生 データの処理が書かれたメソッドを、外部から呼び出すことで、プログラムの再利用性を高めるなど効率化が図れます

class Arai {

    public static void main(String args[]){

    	Love love = new Love();

    	System.out.println("気になる彼をランチに誘う方法について
明します。");

    	love.approach();

    	   System.out.println("反応がなければ
もう一度誘ってみましょう。");

    	love.approach();

    	System.out.println("あまりしつこいと嫌われます。");

    }

}


class Love{

    void approach(){

    	System.out.println("ランチに行きませんか。");
    	System.out.println("外はいい天気です。");
    	System.out.println("おいしいお店を知っています。");

    }
}

ソースコード5 もしも気になる彼をランチへ誘うなら


気になる彼をランチに誘う方法について説明します。
ランチに行きませんか。
外はいい天気です。
おいしいお店を知っています。
反応がなければもう一度誘ってみましょう。
ランチに行きませんか。
外はいい天気です。
おいしいお店を知っています。
あまりしつこいと嫌われます。

ソースコード5の実行結果


先生 いままでのおさらいになりますが、ソースコード5を構文にすると下記のようになります

メソッドの呼び出しの構文

参照変数名.メソッド名(); // 呼び出し側 void メソッド名(){ // voidはメソッドから値が戻らない場合に使う  /* 実行したい文 */ }

新人 メソッドの呼び出しって、メッセージを送ることなんだね。人に送ったメッセージは無視されることがあるけど、コンピュータのプログラムは無視されないからいいよね……

 お昼休みの一件を気にしつつ、心のよりどころをコンピュータに求める新人編集者。そんな彼女を遠巻きに見ていた先生がポツリとひと言。

先生 プログラムが恋人なんて悲しすぎるな

オーバーロード

先生 メソッドのオーバーロードとは、1つのクラスの中に、同じ名前で引数の数もしくは型が異なるメソッドを複数定義することです

class Student{

	int stuNo;
	String stuName;

	void setData(int no){
		stuNo = no;
	}
	void setData(int no,String name){
		stuNo = no;
		stuName = name;
	}
}

ソースコード6 学籍番号、もしくは学籍番号と氏名を設定するプログラム

先生 メソッドを呼び出すときは、引数の数と型が同じものを呼び出します

図2 オーバーロードにおけるメソッドの呼び出し

コンストラクタ

先生 オーバーロードの次のページにある、コンストラクタもメソッドの仲間です

新人 コンストラクタとは何ですか?

先生 コンストラクタは、オブジェクトの初期化を行うために使用される命令の集合です

新人 あーあ、私もK崎さんとリセットしたい

 失恋のショックで、勉強も身に入らないかわいそうな新人編集者だった(連載第5回へつづく) 。

今回お世話になった富士通ラーニングメディアの講師、高木亮一先生より、プログラミング入門者へのアドバイス

Javaプログラミングの間違いやすいポイント

 クラス内には文(セミコロン「;」で終わる)とブロック(中カッコ「{ }」で囲む)を記述することができます。クラス内にじかに記述できる文は、宣言の文のみです。処理は、メソッドやコンストラクタなどのブロック内に記述してください。

 また、コンストラクタはメソッドに似ていますが、クラス名と同じ名前を持ち、戻り値の型を定義しません。この基本を間違えて、エラーを出す方をよく見掛けます。メソッドやコンストラクタの文法も含め、基本ルールを正しく理解して着実なステップアップを目指しましょう。



今回のインデックス
 恋愛にうつつをぬかすダメ新人 (1ページ)
 失恋をバネにして (2ページ)

@IT自分戦略研究所の関連記事
では、Javaをどうやって覚える?
オブジェクト指向、本当に分かってる?
Javaの世界、イメージできる?
なぜJavaを学ぶのか
Javaをモノから学ぶ

@IT自分戦略研究所の関連サービス
ITトレメ(Sun Certified Programmer for the Java 2 Platform)

自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。