首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对超级关键字的困惑;Java中实现的装饰器模式

对超级关键字的困惑;Java中实现的装饰器模式
EN

Stack Overflow用户
提问于 2010-07-18 00:21:22
回答 1查看 328关注 0票数 0

但是,我对装饰者模式(DeP)的实现有点困惑,如

http://www.netobjectives.com/resources/books/design-patterns-explained/java-code-examples/chapter17/#17-1

以上链接代码的设计见tinypic.com/view.php?pic=xnaqlt&s=3

我被装饰器类Header1、Header2、Footer1和Footer2中的"super.callTrailer();“弄糊涂了,它们都是从TicketDecorator派生的。

它不应该只是"callTrailer();“吗?因为每个装饰器对象都有自己对下一个装饰器的引用,这是由于行"private Component myTrailer;“。

注意:我不太精通Java,也不是设计模式的初学者。

EN

回答 1

Stack Overflow用户

发布于 2010-07-18 00:32:59

它们都会给你相同的结果。由于callTrailer()只存在于父类中,因此调用callTrailer()本身将自动调用TicketDecorator的callTrailer()。我猜他们把super放在里面的原因是为了让它显式地调用父函数的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3272279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档