`

桥接模式

阅读更多
-------功能类层次结构----------
package com.tools.pattern.bridge;
public class Display {

private AbstractDisplay imp = null;

public Display(AbstractDisplay imp) {
this.imp = imp;
}

public void open() {
imp.rowOpen();
}

public void print() {
imp.rowPrint();
}

public void close() {
imp.rowClose();
}

public void display() {
this.open();
this.print();
this.close();
}
}

package com.tools.pattern.bridge;

public class CountDisplay extends Display {

public CountDisplay(AbstractDisplay imp) {
super(imp);
}

public void multiDisplay(int times) {
this.open();
for (int i = 0; i < times; i++) {
this.print();
}
this.close();
}
}


-------实现类层次结构----------
package com.tools.pattern.bridge;

public abstract class AbstractDisplay {

public abstract void rowOpen();

public abstract void rowPrint();

public abstract void rowClose();
}

package com.tools.pattern.bridge;

public class StringDisplayImp extends AbstractDisplay {

private String string;
private int width;

public StringDisplayImp(String string) {
this.string = string;
this.width = string.getBytes().length;
}

public void rowOpen() {
this.printLine();
}

public void rowPrint() {
System.out.println("|" + this.string + "|");
}

public void rowClose() {
this.printLine();
}

private void printLine() {
System.out.print("+");
for (int i = 0; i < this.width; i++) {
System.out.print("-");
}
System.out.println("+");
}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics