我不认为它非常适合this用作类参数,因为如果对象的初始化顺序不正确,可能会出现错误.
什么是避免这种情况的最佳做法?
例:
public class Game{
private Player p1, p2, currentPlayer;
private Board board;
Game() {
board = new Board(this);
}
private boolean hasFieldsToBeClicked() {
return board.checkFieldsToBeClicked();
}
Run Code Online (Sandbox Code Playgroud)
从设计的角度来看:就是不要在这里做!
含义:a Board代表董事会.你的国际象棋棋盘是否了解你现在拥有的游戏?
换句话说:传递this可以,但正如你所指出的,它也可能是一个问题.因此,最佳做法是:只有this在你有充分理由的情况下才能通过.特别是当它出现在构造函数中并且this仍处于初始化过程中时.
让棋盘了解正在进行的游戏并不是一个很好的理由.
请记住:您的类/对象应该模拟现实世界.只建立有意义的关系!
因此,这里真正的答案是寻找到为什么你的板子类需要了解的游戏类,然后以摆脱依赖.
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |