変数を追加しているので、このようなものがはるかに優れていると思っていたので、アクセスを制限してクリーンにしてみませんか? ゲッター/セッターは、缶に書かれていることを行う必要があります。
public abstract class ExternalScript extends Script {
private String source;
public void setSource(String file) {
source = file;
}
public String getSource() {
return source;
}
}
これを質問に戻すと、getter/setter コードを読むときに、そのコードがどこにあるかを気にすることはありますか? それらがすべて取得と設定を行う場合、コードを読むときに関数が「行う」ことについて心配する必要はありません。他にも考えるべき理由がいくつかあります。
- ソースが保護されている (サブクラスからアクセスできる) 場合、コードはごちゃごちゃになります: 誰が変数を変更しているのでしょうか? それがオブジェクトの場合、リファクタリングが必要になると難しくなりますが、メソッドはこのステップを容易にする傾向があります。
- ゲッター/セッター メソッドが取得および設定されていない場合は、別のものとして説明してください。
クラスが本当に違うものかどうかを常に考えてください。それは、さらに何かが必要かどうかを判断するのに役立ちます。