JAVAベースのデザインパターン装飾模様

  • 入門

    装飾的なデザインモードでは、オリジナルのスキル、新しいスキルに基づいて、継承されたカップリングがもたらす減らします。

  • クラス図

  

  • コード
パブリック インターフェースコンポーネント{
     公共 ボイド関数()。
} 

パブリック クラス ConcreteComponentは実装部品{
     公共 ボイド関数(){ 
        System.out.printlnは( "呼吸+觅食+睡觉基本功能" ;)
    } 
} 

パブリック クラスデコレータは、実装部品{
     プライベートコンポーネントの成分を、
    公共デコレータ(成分成分){
         この .component = コンポーネント。
    } 
    公共 ボイド関数(){
        component.function(); 
    } 
} 

パブリック クラス ConcreteDecoratorは延びデコレータ{
     公共ConcreteDecorator(成分成分){
         スーパー(成分)。
    } 

    @Override 
    公共 ボイド関数(){
         スーパー.function()。
        System.out.println( "附加功能:" );
        この.eat(); 
    } 

    プライベート ボイドが食べる(){ 
        System.out.printlnは( "吃肉" )。
    } 
} 

パブリック クラスメイン{
    公共 静的 ボイドメイン(文字列[]引数){ 
        コンポーネント成分 = 新しいConcreteComponent()。
        component.function(); 
        成分deComponent = 新しいConcreteDecorator(成分)
        deComponent.function(); 
    } 
}

おすすめ

転載: www.cnblogs.com/hbsdljz/p/11131646.html