インタフェースと統合された例多型

ラップトップ

ノートブック(ラップトップ)は、通常のUSBデバイスの機能を使用する必要があります。生産では、予約されているノートPCはすることができ、USB規格デバイスとの限り準拠した、具体的には、ノートPCメーカーは気にしないどのようなUSBデバイスUSBデバイスのUSBポートに挿入することができますが。最も基本的な機能で定義されたUSBインタフェースは、機能オン・オフされます。コンピュータ上でマウスとキーボードを使用できるようにするために、マウスとキーボードは、USBインタフェースを達成するために、USB規格に準拠している必要があり、そうでなければ、作成したマウスとキーボードを使用することができません。

ケーススタディ

  • USBマウス、USBキーボードを使用してノートブックを実装して説明したノートブッククラス
  • USBインターフェース、機能を閉じ、開く機能を有し
  • 機能の実行が含まれているノートブッククラス、シャットダウン機能、USBデバイスの機能
  • Mouseクラスのメソッドは、USBインタフェースを実現するために、クリックしたと
  • Keyboardクラスは、パーカッション方式で、USBインタフェースを達成するために

ケース実現

USBインタフェースの定義

パッケージdemo07; 

パブリック インターフェイスUSB { 

    パブリック 抽象 ボイドオープン(); //は、デバイスを開き

    、パブリック 抽象 ボイド()閉じる; // 閉じるデバイス

}

Mouseクラスの定義

パッケージdemo07; 



// マウスUSBデバイスである
パブリック クラスマウス実装のUSB { 
    @Override 
    公共 ボイドオープン(){ 
        System.out.printlnは( "マウスがオープン" ); 
    } 

    @Override 
    公共 ボイドクローズ(){ 
        System.out.printlnは( "オフマウス" ); 
    } 

    公共 ボイドをクリック(){ 
        System.out.printlnは( "マウスクリック" ); 
    } 
}

Keyboardクラスの定義

パッケージdemo07; 


// キーボードのUSBデバイスがある
パブリック クラスキーボード実装はUSB { 
    @Override 
    公共 ボイドオープン(){ 
        System.out.printlnは( "キーボードオープン" ); 
    } 

    @Override 
    公共 ボイドクローズ(){ 
        System.out.printlnは( "閉じるキーボード" ); 
    } 

    公共 ボイドタイプ(){ 
        System.out.printlnは( "入力" ); 
    } 
}

コンピュータのクラス定義

パッケージdemo07; 

パブリック クラスのコンピュータ{ 

    公共 のボイド電源投入(){ 
        System.out.printlnは( "ラップトップのブート" ); 
    } 

    パブリック 無効電源オフ(){ 
        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)。
    } 

}

結果

 

おすすめ

転載: www.cnblogs.com/wurengen/p/11223523.html