多型統合ケースをインターフェース
USBマウス、USBキーボードを使用してノートブックを実装して説明したノートブッククラス
- USBインターフェース、機能を閉じ、開く機能を有し
- 機能の実行が含まれているノートブッククラス、シャットダウン機能、USBデバイスの機能
- Mouseクラスのメソッドは、USBインタフェースを実現するために、クリックしたと
- Keyboardクラスは、パーカッション方式で、USBインタフェースを達成するために
コードの実装
USBインタフェースの定義
パッケージdemo07; パブリック インターフェイスUSB { 公共の 抽象 無効オープン(); // 開いているデバイス パブリック 抽象 ボイドクローズ(); // 閉じるデバイス }
カスタムマウスクラス
パッケージdemo07; // マウスがUSBデバイスである パブリック クラスマウス実装のUSB { @オーバーライド 公共 のボイドオープン(){ System.out.println( "オープンマウス" ); } @オーバーライド 公共 ボイド近いです(){ System.out.println(「マウスの電源を切ります」)。 } 公共 ボイドクリック(){ System.out.println( "マウスクリック" ); } }
Keyboardクラスをカスタマイズします
パッケージdemo07; // キーボードはUSBデバイスである パブリック クラスのキーボードを実装する{USB @オーバーライド 公共 のボイドオープン(){ System.out.println( "キーボードを開きます" ); } @オーバーライド 公共 ボイド近いです(){ System.out.println( "閉じるキーボード" ); } 公共 ボイドタイプ(){ System.out.println( "入力" ); } }
定義コンピュータクラス
パッケージdemo07; パブリック クラスコンピュータ{ 公共 のボイド電源投入(){ System.out.println( "ラップトップのブート" ); } 公共 ボイドPOWEROFF(){ System.out.println( "ノートブックがオフになっています" ); } // インタフェース使用して、プロセスパラメータとしてUSBデバイス法、 公共 ボイドuseDevice(USBのUSB)を{ usb.open(); // オープンデバイス IF(USB instanceofのマウス){ // 確認分析 マウスマウス=(マウス)USB; // 下方遷移 Mouse.CLICK()。 } 他 IF(USB instanceofのキーボード){ // 最初の決定 キーボードキーボード=(キーボード)USB; // 下方遷移 keyboard.type()。 } usb.close(); // 閉じるデバイス } }
テストクラスを定義します
パッケージdemo07; パブリック クラスDemoMain { 公共の 静的な 無効メイン(文字列[] args)を{ // まずノートPC作成 コンピュータコンピュータ= 新しい新しいコンピュータを(); computer.powerOn(); // コンピュータの使用のためにマウスを準備 // マウスマウス=新しい新しいマウス(); // まず、変換作る USBのusbmouse = 新しい新しいマウス(); // 多状態書き込み // パラメータは、USBタイプがあるが、私は彼らに渡すために起こりましたUSBマウスがある computer.useDevice(usbMouse)。 // USBキーボードの作成 キーボードキーボード= 新しい新しいキーボードを(); // 多状態書き込みを使用しない // メソッドのUSBタイプパラメータは、クラスオブジェクトに渡されるが、達成することである computer.useDevice(キーボード); // 正しい言葉遣いを!また、変換まで受けた // サブクラスのオブジェクトを、匿名オブジェクトことも // computer.useDevice(新新キーボード()); //があり、正しい言葉遣い computer.powerOff(); System.out.println( "==================" ); 方法( 10.0); // 正しい言葉遣い、ダブル- >ダブル 方法(20である); // 正しい言葉遣い、INT - >ダブル int型 A = 30 。 方法(A); // 正しい言葉遣い、int型- >ダブル } パブリック 静的 ボイド法(ダブルNUM){ System.out.println(NUM)。 } }
結果