全局变量Vs.集合函数

本文关键字:函数 集合 Vs 全局变量 | 更新日期: 2023-09-27 18:03:42

我正在寻找在另一个类中更改变量值的最佳编程实践。

例如,如果我有一个布尔值来确定敌人是向左还是向右,那么最好的方法是什么?

*outside of Class*
Class.Right = false;
*inside of Class*
public Right = true;

*outside of Class*
Class.setRight(false);
*inside of Class*
private Right = true;
public void setRight (right) {
    Right = right;
}

另外,我读到你应该避免一起使用全局变量,但你应该在这种情况下使用它,因为它在类中的多个函数中使用,对吗?

全局变量Vs.集合函数

使用枚举,您可以选择如何设置它(我们需要知道实现的细节以提供特定的建议)。

public enum DirectionType{ Right, Left };
public class Enemy
{
    public DirectionType Direction{ get; set; }
    public void HoneInOnHero()
    {
        //Hero's function can help determine position relative to the enemy.
        this.Direction = Hero.GetRelativeDirection(this);
    }
}
var enemy = new Enemy();
enemy.Direction = DirectionType.Left;
//or...
if(attackMode)
    enemy.HoneInOnHero();