• 検索結果がありません。

vending.jar のアイコンをダブルクリック 方法 2:

ドキュメント内 B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71 (ページ 33-43)

2003/12/14 23:59 JST

方法 1: vending.jar のアイコンをダブルクリック 方法 2:

z:

>

java -jar vending.jar

<

Enter

>

どんな点が簡単か

お金も商品も無尽蔵であることが前提 商品の価格は 1 種類

おつりは自動的には出てこない

j 自動販売機のソース o ファイルを得る

次のコマンドで

all-in-one jar

ファイルを解凍して、中のソースファイルを取り出して ください

z:

>

jar xvf vending.jar

<

Enter

>

オプションの説明

x:

解凍

v:

詳細表示

f:

圧縮ファイル指定

Vending.java

がソースファイルです

images

ディレクトリの中には、自動販売機のプログラムで用いる画像ファイル

(PNG

a形式

)

が格納されています

a PNG: Portable Network Graphics

j 練習問題 : 改造しよう

次のように自動販売機を改造してください

(Vending.java

を書き換えてください

) (

先週の改造が済んでいることを前提とします

)

おつりを自動的に出す

商品を買った後の残りの投入金額が、最も安い商品の値段に満たなければ、

ボタンが押されなくてもおつりを出すようにします プロジェクタに完成例を映して説明します

j インタフェース

インタフェースは、クラスに似ています クラスと同様、ある型を表します

ただし、定数と中身のないメソッドだけを定義できます

クラスがカテゴリーを表すのに対し、インタフェースは能力を表すと考えれ ばよいでしょう

extends

ではなく、

implements

と書いて使います 例: public class A implements B

{. . .}

意味 1

:

クラス

A

は、インタフェース

B (

のメソッド

)

を実装します 意味 2

:

クラス

A

は、インタフェース

B

であるかのように扱えます

·

クラス

A

のインスタンスは、インタフェース

B

で定義される能力を持つ ものとして扱えます

実装するインタフェースは

‘,’

で区切っていくつも指定できます

ActionListener インタフェース

よく使われるインタフェースです

j インタフェースの例

public class Vending implements ActionListener

{

:

public Vending()

{

:

// addActionListener()ActionListener 型の引数を受け取ります

buttonCancel.addActionListener(this);

:

}

public void actionPerformed(ActionEvent event)

{

Object source = event.getSource(); // イベントの発生源を取得します

: // ボタンが押されたときの処理を行ないます

}

:

}

ActionListener

を実装するクラスは、必ず

actionPerformed()

を定義しなければなり ません

今日のメニュー

はじめに 課題レビュー 課題の出題 ミニチェック

練習問題

:

自動販売機を改造する 状態遷移からクラスへ

スロットマシンで見る便利なクラス

/

インタフェース ファイルからの入力

実習

状態遷移からクラスへ

具体的な翻訳の手法は、みなさんの状態遷移図が整理されてから説明します 今週は一般論を説明します

p 状態遷移からクラスの

o 設計へ GUI

外界からのイベントを受け付ける場合

イベントを受けるガジェットを考えます

(

ボタンやテキストフィールドなど

)

イベントは基本的に

ActionListener

actionPerformed()

で受けます ユーザのクリックやテキスト入力

タイマの発火

ウィンドウのクローズボタンの処理を行ないます 消滅のイベントに対応します

プログラム内部から使われるオブジェクトの場合 イベント毎にメソッドを用意します

共通

状態をフィールドで区別します

p 状態遷移からクラスの

o 設計へ CLI

外界からのイベントを受け付ける場合

コマンドプロンプトからの入力を受けつけます ファイルリーダのクラス

(

後述

)

を用います プロンプトを表示してから入力を読み込みます

終了するための入力も用意します

(“quit”

コマンドなど

)

·

消滅のイベントに対応します

プログラム内部から使われるオブジェクトの場合 イベント毎にメソッドを用意します

共通

状態をフィールドで区別します

CLI: Command Line Interface

今日のメニュー

はじめに 課題レビュー 課題の出題 ミニチェック

練習問題

:

自動販売機を改造する 状態遷移からクラスへ

スロットマシンで見る便利なクラス

/

インタフェース ファイルからの入力

実習

スロットマシンで見る便利な

クラス / インタフェース

ドキュメント内 B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71 (ページ 33-43)

関連したドキュメント