Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32418
  • 博文数量: 18
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 122
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-05 16:09
文章分类
文章存档

2014年(6)

2013年(12)

我的朋友

分类: Java

2013-12-29 15:01:16

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. package com.heima.pattern;  
  2.   
  3. /** 
  4.  * 装饰设计模式: BufferedReader(readLine())是对FileReader(read())功能的一种增强 
  5.  * BufferedReader就是装饰类 装饰类和被装饰类一般会归属于同一个类 
  6.  */  
  7. public class TestDecorator {  
  8.   
  9.     public static void main(String[] args) {  
  10.         Person person = new Person();  
  11.         // person.eat();  
  12.         SuperPerson superPerson = new SuperPerson(person);  
  13.         superPerson.superEat();  
  14.     }  
  15.   
  16. }  
  17.   
  18. // 被装饰类  
  19. class Person {  
  20.     public void eat() {  
  21.         System.out.println("吃饭");  
  22.     }  
  23. }  
  24.   
  25. // 装饰类  
  26. class SuperPerson {  
  27.     private Person person = null;  
  28.   
  29.     // 通常用构造函数来接受一个被装饰类  
  30.     public SuperPerson(Person person) {  
  31.         this.person = person;  
  32.     }  
  33.   
  34.     // 然后基于被装饰类提供更强的功能  
  35.     public void superEat() {  
  36.         System.out.println("开胃菜");  
  37.         person.eat();  
  38.         System.out.println("甜点");  
  39.     }  
  40. }  







阅读(181) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~