だが、私は(名前円がランダムだったとは意味を持たない)クラスがあるとしましょう。一方で独自のgetメソッドを持たないsetメソッドを持つのは悪い習慣ですか?
Class circle{
double colorFrequency_;
public:
void setColor(double colorFrequency){ colorFrequency_=colorFrequency; }
void setColor(string colorName){ colorFrequency_=colorNameToFrequency(string colorName); }
double getColorFrequency()
string getColorName(){ /* converts color frequency into a string containing the name of a color it's close to, like "red" */ }
}
を、setColorを呼ばれる方法ではなく、GETCOLORと呼ばれるものを持っている矛盾したようだが、他の代わりにsetColorFrequencyとsetColorNameという関数があれば、setColorNameはgetColorNameの出力だけでなく、setColorFrequencyの出力にも影響するため、これらの名前は完全に説明的ではありません。
setColorという関数を持つのは奇妙ですが、getColorという関数はありませんか?
私はあなたのデザインを尊重することに同意しますが、この場合は何も表示されず、setColorでオーバーロードを使用するように強制します。 setColorFrequencyとsetColorNameも賢明です。 –
@JürgenStrobel setColorFrequencyとsetColorNameは、2つの異なる*ものを更新するように聞こえるが、そうではない。オーバーロードを避ける場合はsetColorFromNameまたはsetColorFromFrequencyを設定してください。 –
@pst SetColor(double colorFreq)とSetColorFromName(string colorName)はどうですか?何が起こっているのかを説明することは私には明らかです。 – BrandonSun