オブジェクト指向、インターフェイスの問題。
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 |
0.アプリ実行,1.USBデバイス接続,2.終わり>1 |
どのデバイスを接続しますか0.マウス、1.メモリー、2.カードリーダー>1 |
0.アプリ実行,1.USBデバイス接続,2.終わり>1 |
どのデバイスを接続しますか0.マウス、1.メモリー、2.カードリーダー>2 |
0.アプリ実行,1.USBデバイス接続,2.終わり>2 |
コメント