装饰设计模式: 当想要对已有对象进行功能增强时,可以定义类, 将已有对象传入,基于已有的功能,并提供加强功能。 那么自定义的类称之为装饰类。
模式举例:装饰类通常通过构造方法接收被装饰的对像,并提供能强的功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
class Person { public void chi() { System.out.println("吃"); } } class SuperPerson { private Person p; SuperPerson(Person p) { this.p = p; } public void superChi() { System.out.println("吃吃吃"); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
* 此代码演示的是装饰类LineNumberReader中的部分方法 * 主要作用是为了在读取每行的时候可以加上行数 public class LineNumberReaderDemo { public static void main(String[] args) { FileReader fr = null; LineNumberReader lnr = null; try { fr = new FileReader("C:\Users\王旭\Desktop\JAVA笔记\12.IO流\demo.txt"); lnr = new LineNumberReader(fr); String line = null; lnr.setLineNumber(23);//修改行数的初始基准数值 while((line = lnr.readLine())!=null) { System.out.println(lnr.getLineNumber()+":"+line); } } catch (IOException e) { System.out.println("IO异常"+e.toString()); } finally { if(fr != null) { try { lnr.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
近期评论