作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Java 开发 android,并且正在实现模型- View -呈现器架构。玩家可以玩两种类型的游戏:
这两款游戏非常相似,但都有各自的 .class 文档(例如GameA.class 和 GameB.class)。
在这两种情况下,它们各自的演示者是相同的,
唯一改变的是模型类的实例化和声明。例如:
GameAPresenter.class:
class GameAPresenter{
private GameA game;
// other stuff here that happens in both presenters
GameAPresenter(int par1, int par2){
this.game = new GameA(par1, par2);
//other stuff here that happens in both presenters
}
}
GameBPresenter.class:
class GameBPresenter{
private GameB game;
// other stuff here that happens in both presenters
GameBPresenter(int par1, int par2){
this.game = new GameB(par1, par2);
//other stuff here that happens in both presenters
}
}
有什么方法可以完全避免由单行注释模拟的重复代码吗?如果我能让两个模型共享一位演示者,那就太好了。
最佳答案
您需要创建一个通用的 Game
类,然后 GameA
和 GameB
都可以继承该类。
同样可以使用GamePresenter
,创建一个GamePresenterA
和GamePresenterB
可以继承的通用模型。此外,每次创建 GamePresenter 的新实例或调用某个方法时,您都可以为 GamePresenter
提供一个 Game
。这样就可以有一个 GamePresenter
并且可以使用任何 Game
来呈现它。
关于java - 在这种情况下有没有办法完全避免重复代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59758462/
我是一名优秀的程序员,十分优秀!