比方说,我有一个类(名称圈是随机的,没有意义):有没有自己的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听起来像他们会更新两个不同的*事物 - 而他们不会。也许setColorFromName或setColorFromFrequency如果超载是要避免... – 2011-08-14 05:56:21
@pst怎么样 '的setColor(双colorFreq)' 和 'SetColorFromName(字符串colorName)'。我更清楚地描述发生了什么。 – BrandonSun