パッケージ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(); } }