gpt4 book ai didi

java - 如何避免 "this"作为类参数

转载 作者:行者123 更新时间:2023-12-03 20:22:02 25 4
gpt4 key购买 nike

我认为将 this 用作类参数不太好,因为如果对象的初始化顺序不正确,可能会发生错误。

避免这种情况的最佳做法是什么?

例子:

public class Game{

private Player p1, p2, currentPlayer;
private Board board;

Game() {
board = new Board(this);
}

private boolean hasFieldsToBeClicked() {
return board.checkFieldsToBeClicked();
}

最佳答案

从设计的角度来看:只是不要在这里做!

含义:Board 代表一个board。您的棋盘是否知道您当前正在玩的游戏?

换句话说:传递 this 可能没问题,但正如您所指出的,它也可能是一个问题。因此,最佳实践是:只有在有充分理由的情况下才传递 this。特别是当它发生在构造函数中并且 this 仍在初始化过程中时。

让国际象棋棋盘了解正在进行的游戏并不是一个很好的理由。

请记住:您的类/对象应该模拟真实世界。只建立有意义的关系!

所以这里真正的答案是研究为什么您的 Board 类需要了解 Game 类,然后摆脱这种依赖。

关于java - 如何避免 "this"作为类参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50462552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com