プリンタの印刷機能を実現するためのインタフェースを持ちます

パッケージJUL.JUL.JUL18; 

パブリック インターフェース紙{
     パブリック文字列の紙()。
}
紙のインタフェース
パッケージJUL.JUL.JUL18; 

パブリック クラスA4Paperは紙{実装
    @Override 
    パブリック文字列紙(){
         リターン A4を
    } 
} 

パッケージJUL.JUL.JUL18。

パブリック クラスB5Paperは紙{実装
    @Override 
    パブリック文字列紙(){
         リターン B5を
    } 
}
紙の実装クラス
パッケージJUL.JUL.JUL18; 

パブリック インターフェイスインク{
     パブリック文字列のインク()。
}
カートリッジインタフェース
パッケージJUL.JUL.JUL18; 

パブリック クラスColorInkインク{実装
    @Override 
    パブリック文字列インク(){
         リターンを 彩色
    } 
} 

パッケージJUL.JUL.JUL18。

パブリック クラスGrayInkインク{実装
    @Override 
    パブリック文字列インク(){
         リターン 黑白
    } 
}
カートリッジインターフェースクラスを実装
パッケージJUL.JUL.JUL18; 

パブリック クラスプリンタ{
     プライベート文字列のインク。
    プライベート文字列の紙; 

    公共 ボイドsetPaper(文字列紙){
         この .paper = 紙; 
    } 

    パブリック文字列getInk(){
         戻りインク。
    } 

    パブリック文字列getPaper(){
         戻り紙。
    } 

    公共 ボイドsetInk(文字列のインク){
         この .ink = インク。
    } 

    公共 ボイドdayin(){ 
        システム。でる.println(" " + この .getInk()+ " プリンタ" + この .getPaper()+ " " ); 
    } 
}
プリンタのクラス
パッケージJUL.JUL.JUL18; 

輸入java.util.Collections。

パブリック クラスTestPrinter {
     公共 静的 ボイドメイン(文字列[]引数){ 
        A4Paper a4Paper = 新しいA4Paper()。
        ColorInk colorInk = 新しいColorInk(); 
        プリンタのプリンタ = 新しいプリンタ(); 

        printer.setInk(colorInk.ink())。
        printer.setPaper(a4Paper.paper())。
        printer.dayin(); 
    } 
}
テストカテゴリ

 

おすすめ

転載: www.cnblogs.com/zeng1997/p/11208625.html