java - How to get all classes used in decorator design pattern?
问题描述
So I'm implementing decorator design patter in java.
Overall I have this call which works correctly.
CrewMember crewMember = new Captain(new ChiefEngineer(new CrewMemberImpl()));
Now I have a question, how could I call a method as a crewMember
from ChiefEngineer
for example(which is not in the base interface).
What I would want ideally:
crewMember.methodFromChiefEngineerClass();
Maybe there is a way to get all related classed from crewMember? Using instanceof somehow? Or am I getting it wrong
解决方案
在类中创建一个方法Captain
来获取ChiefEngineer
对象并使用它来调用ChiefEngineer
类中的方法。
public class Captain {
private final ChiefEngineer engineer;
public Captain(final ChiefEngineer engineer) {
this.engineer = engineer;
}
public ChiefEngineer getChiefEngineer() {
return this.engineer;
}
}
然后做
crewMember.getChiefEngineer().methodFromChiefEngineerClass();
推荐阅读
- angular - npm WARN @angular/material@2.0.0-beta.2 需要 @angular/core@^2.3.0 的对等体,但没有安装
- javascript - Vue将v-on传递给组件内的子元素
- php - 如何使用 CSS 和 VueJS 控制父元素的样式?
- android - 回收站视图Android中的最大项目数
- corda - 将 Corda 与自定义应用程序交互
- css - 使用'-webkit-appearance:none;' 阻止苹果弄乱 CSS
- visual-studio-code - VS Code,如何从 editor.formatOnSave 中排除目录
- r - R:应用与 do.call
- java - 使用来自特定用户的数据库中的数据填充表视图
- javascript - 当用户在 Angular 4 中刷新/重新加载页面时无法获得确认框