オブジェクト指向、インターフェイスの問題。
Q1
usb接続ができることを意味するインターフェイスUsbConnectable、
それを実装するクラスMouse、Memory、CardReaderを作成する。
そして、PCクラスを作成し、アプリケーションクラスにて実行例となるようなプログラムを作成する。
■インタフェース:UsbConnectable
<抽象メソッド>
usbConnect()
■一般クラス:Mouse(実装:UsbConnectable)
<実装メソッド>
public void usbConnect() {
System.out.println(“USB接続にてマウス操作ができます。”);
}
■一般クラス:Memory(実装:UsbConnectable)
<実装メソッド>
public void usbConnect() {
System.out.println(“USB接続にてデータを保存できます。”);
}
■一般クラス:CardReader(実装:UsbConnectable)
<実装メソッド>
public void usbConnect() {
System.out.println(“USB接続にてSDカードの読み書きができます。”);
}
■一般クラス:PC
<フィールド変数>
UsbConnectable device;
<メソッド>
public void execApp(){
System.out.println(“アプリケーションを実行する”);
}
public void usb(){
this.device.usbConnect();
}
public void setDevice(UsbConnectable device){
this.device=device;
}
■アプリケーションクラス:PCApp
実行例の処理ができるよう記述する。
[実行例]
0.アプリ実行,1.USBデバイス接続,2.終わり>0 アプリケーションを実行する 0.アプリ実行,1.USBデバイス接続,2.終わり>1 どのデバイスを接続しますか0.マウス、1.メモリー、2.カードリーダー>0 USB接続にてマウス操作ができます。 0.アプリ実行,1.USBデバイス接続,2.終わり>1 どのデバイスを接続しますか0.マウス、1.メモリー、2.カードリーダー>1 USB接続にてデータを保存できます。 0.アプリ実行,1.USBデバイス接続,2.終わり>1 どのデバイスを接続しますか0.マウス、1.メモリー、2.カードリーダー>2 USB接続にてSDカードの読み書きができます。 0.アプリ実行,1.USBデバイス接続,2.終わり>2 アプリケーションを終了します。
コメント