- 入門
装飾的なデザインモードでは、オリジナルのスキル、新しいスキルに基づいて、継承されたカップリングがもたらす減らします。
- クラス図
- コード
パブリック インターフェースコンポーネント{ 公共 ボイド関数()。 } パブリック クラス 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(); } }