// @BAKE javac $@ && java $* // Java example to the decorator pattern class Decorator { static class Canary { private String ascii = " .-. \n" + " /'v'\\ \n" + " (/ \\) \n" + "='=\"=\"===<\n" + "mrf|_| \n" ; public void print() { System.out.print(ascii); } } static class YellowCanary extends Canary { public void print () { System.out.println("\033[33m"); super.print(); System.out.println("\033[0m"); } } public static void main(String[] args) { Canary sunny = null; sunny = new Canary(); sunny.print(); sunny = new YellowCanary(); sunny.print(); } }