こんにちは、基本的な質問で申し訳ありません。以前に答えを教えてもらったことがあり、検索に時間を費やしましたが、適切な答えを見つけることができませんでした (おそらく、検索クエリとして表現するのが難しいため)。以前はOOプログラミングを少ししていましたが、最近は手続き型のものをたくさんやったので、それが私の考えを曇らせているようです.
文字列を操作する必要があるプログラムがあります。そのプログラムの一部には文字列のサニタイズが含まれているため、次の方法があります。
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;
}
これが最初の方法であるべきだと思います。それがうまくいくことはわかっていますが、良いOOを実証する必要があることをやっているので、基本的な仮定が正しいことを確認したいだけです。
ありがとう