gpt4 book ai didi

java - 面向对象,传递变量或使用对象状态

转载 作者:行者123 更新时间:2023-12-01 15:00:59 26 4
gpt4 key购买 nike

您好,对于这个基本问题深表歉意,我确信我之前已经被告知过答案,并且我花了一些时间搜索但找不到好的答案(可能是因为它很难表达为搜索查询),我以前做过一些面向对象编程,但最近做了很多程序性的东西,所以这似乎让我的想法变得模糊。

我有一个必须使用字符串的程序,该程序的一部分涉及清理字符串,所以我有这个方法:

private void sanitizeString() {
removeEscape();
removePunctuation();
removeCaps();
}

并在类的前面声明了变量

String x = "... some string ..."

在程序中,您显然会向所有函数传递它们需要处理的字符串,我的问题是在面向对象中,是否可以在类的顶部声明此字符串,然后执行类似的操作

private void removeCaps() {
x = x.toLowerCase();
}

或者应该是

private String removeCaps(String y) {
y = y.toLowerCase();
return y;
}

我认为这应该是第一种方法,我知道这可以正常工作,但我正在做一些必须证明良好的面向对象的事情,所以我只想检查我的基本假设是否正确。

谢谢

最佳答案

你在这里需要权衡:

  1. 将变量声明为类变量意味着您必须为要清理的每个字符串创建一个新对象。

  2. 将字符串变量传递给每个方法意味着您可以重用同一对象来清理多个字符串。

您必须权衡每种方法的优缺点,以决定哪种方法最适合您的特定情况。

关于java - 面向对象,传递变量或使用对象状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13653298/

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