看过好多对装饰模式的讲解,他们几乎都有一句相同的话:对现有类功能的扩展.不知道大家怎么理解这句话的,之前我把”对功能的扩展“理解成”加功能=加方法“,比如Person类本来有两个功能:Eat 和 Run ,使用装饰模式后,可以再加一个功能:Sleep,这显然是不能的.增加Sleep意味着修改接口,装饰模式的功能并不是这样,那是怎样的呢? 还拿Person类来说明,比如现在有个需求:在吃饭前要洗手. ”洗手“这个功能就是对Eat功能的扩展,添加“洗手”这个功能可以通过装饰模式添加,又比如吃完后,“