
List1 AbstractDisplay類別
public abstract class AbstractDisplay{ public abstract void open(); public abstract void print(); public abstract void close(); public final void display(){ open(); for(int i = 0; i < 5; i++){ print(); } close(); } }List2 CharDisplay類別
public class CharDisplay extends AbstractDisplay{ private char ch; public CharDisplay(char ch){ this.ch = ch; } public void open(){ System.out.print("<<"); } public void print(){ System.out.print(ch); } public void close(){ System.out.println(">>"); } }List3 StringDisplay類別
public class StringDisplay extends AbstractDisplay{ private String string; private int width; public StringDisplay(String string){ this.string = string; this.width = string.getBytes().length; } public void open(){ printLine(); } public void print(){ System.out.println("|" + string + "|"); } public void close(){ printLine(); } private void printLine(){ System.out.print("+"); for(int i = 0; i < width; i++){ System.out.print("-"); } System.out.println("+"); } }List4 Main類別
public class Main{ public static void main(String[] args){ AbstractDisplay d1 = new CharDisplay('H'); AbstractDisplay d2 = new StringDisplay("Hello, world."); AbstractDisplay d3 = new StringDisplay("您好。"); d1.display(); d2.display(); d3.display(); } }
沒有留言:
張貼留言