全局变量比。设置功能
问题描述:
我正在寻找用于更改另一个类中的变量值的最佳编程实践。全局变量比。设置功能
例如,如果我有一个布尔值来确定一个敌人是否面向右边,那么最好的方法是什么?
一个
*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;
}
而且,我读过,你应该避免使用全局变量都在一起,但你应该在这种情况下使用它,因为它的用于课堂中的多个功能,对吗?
答
使用枚举,你可以以任何方式设置它(我们需要知道实现的细节以提供特定的建议)。
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();
这不是一个全局变量,它是一个公共成员变量。在C#中设置函数没有意义,因为您可以使用属性。 –
好吧我会坚持A.我不认为在这个级别实现每个变量的属性是有意义的。 –