对于基本问题,我很抱歉,我确信我之前已经被告知答案,并且我花了一些时间寻找但找不到一个好答案(可能是因为它很难以短语作为搜索查询),我之前做过一些OO编程,但最近我做了很多程序化的东西,这似乎让我的想法变得模糊不清。面向对象,传递变量或使用对象状态
我有了处理字符串的工作计划,该计划的一部分,涉及消毒的字符串,所以我有这样的方法:
private void sanitizeString() {
removeEscape();
removePunctuation();
removeCaps();
}
和更早版本的类中声明的变量
String x = "... some string ..."
在过程中,你显然会传递所有他们需要处理的函数的字符串,我的问题是在OO中,这个字符串可以在类的顶部声明,然后就像
private void removeCaps() {
x = x.toLowerCase();
}
还是应
private String removeCaps(String y) {
y = y.toLowerCase();
return y;
}
我想,这应该是第一种方式,我知道这工程确定,但即时通讯做的事情必须表现出良好的面向对象的,所以我只是想检查我有我的基本假设是正确的。
感谢
如果我以正确的方式思考它,不同类别修改的'全局变量'仍然是一个坏主意,与过程相同,但'类变量'可以吗? – Mike
@Mike是的。 **这个答案适用于类方法和类变量而不是全局变量。**相同的类变量只能以这种方式访问。非常简单的例子gould是POJO,你声明类变量并通过getter/setter方法暴露它们。你不需要将类变量传递给这些方法,并且一段时间,你不能。 –
非常好,感谢信息 – Mike