黑马程序员-IO(1)
来源:互联网 发布:中国网络经纪人登陆 编辑:程序博客网 时间:2024/05/22 07:59
---------------------android培训、java培训、期待与您交流! -------------------------
Decorator设计模式
UML类图
实现代码
Component.java
package com.uc.decoratortest;/** * 功能接口 */public abstract class Component {public abstract void Operation();}
ConcreteComponent.java
package com.uc.decoratortest;public class ConcreteComponent extends Component {@Overridepublic void Operation() {System.out.println(getClass() + "具体功能实现操作");}}
Decorator.java
package com.uc.decoratortest;public class Decorator extends Component {private Component component;public void setComponent(Component comp) {this.component = comp;}@Overridepublic void Operation() {// TODO Auto-generated method stubcomponent.Operation();}}
ConcreteDecoratorA.java
package com.uc.decoratortest;public class ConcreteDecoratorA extends Decorator{private String addedState;public void setAddedState(String addedState) {this.addedState = addedState;}@Overridepublic void Operation() {super.Operation();System.out.println("具体装饰对象A的操作:" + this.addedState);}}
ConcreteDecoratorB.java
Added Behavior");}@Overridepublic void Operation() {// TODO Auto-generated method stubsuper.Operation();addedBehavior();}}
UCTest
package com.uc.decoratortest;import org.junit.Test;public class UCTest {@Testpublic void test1() {ConcreteComponent comp = new ConcreteComponent();ConcreteDecoratorA cda = new ConcreteDecoratorA();ConcreteDecoratorB cdb = new ConcreteDecoratorB();cda.setComponent(comp);cda.setAddedState("UC Added State");cdb.setComponent(cda);cdb.Operation();}}/*output:class com.uc.decoratortest.ConcreteComponent具体功能实现操作具体装饰对象A的操作:UC Added Stateclass com.uc.decoratortest.ConcreteDecoratorB->Added Behavior*/
InputStream的UML:
FilterInputStream充当Decorator功能,它的子类,则为具体的装饰操作,FileInputstream为具体的操作类。
---------------------android培训、java培训、期待与您交流! -------------------------
0 0
- 黑马程序员-IO(1)
- 黑马程序员--IO(1)
- 黑马程序员----IO流(1)
- 黑马程序员--IO体系(1)
- 黑马程序员--IO流(1)
- 黑马程序员—IO操作(1)
- 黑马程序员--IO流(1)
- 黑马程序员——IO(1)
- 黑马程序员 九、IO 操作(1)
- 黑马程序员 IO流(1)
- 黑马程序员-javase-io(1)
- 黑马程序员----IO流1
- 黑马程序员--IO流(1)
- 黑马程序员----IO基础知识1
- 黑马程序员--IO流1
- 黑马程序员-IO(二)
- 黑马程序员-IO(一)
- 黑马程序员-IO(二)
- DEMO阶段已经完成,现在应该往深里钻了
- KMP算法的工作流程介绍
- no copy constructor available or copy constructor is declared 'explicit'
- linux下如何用GDB调试c++程序
- mini2440调试问题
- 黑马程序员-IO(1)
- 《计算机程序的构造与解释》(六)
- 送给刚刚开始学cocos2d-x引擎 移植Android的同学
- 实验:改变参数memory_max_target和memory_target
- Node.js学习笔记【1】入门(服务器JS、函数式编程、阻塞与非阻塞、回调、事件、内部和外部模块)
- VS c++11 多线程 R6010错误
- Android 虚化图片的方法
- Collections.unmodifiableMap()的简单解释
- 每天坚持编程和写博客