我试图创建一个名为Label的类。标签是纯文本控件。应该能够通过get / set函数更改标签的文本和颜色。我认为这是通过get / set函数更改标签文本的一种方法。但我不确定颜色。任何建议都会得到满足。
<pre>
class Label
{
private:
std::string text;
int color;
public:
Label();
void SetText(string Ntext);
void SetColor(int value);
int GetColor();
string GetText();
~Label();
};
<code>
<pre>
Label::Label()
{
}
string Label::GetText()
{
return text;
}
void Label::SetText(string Ntext)
{
text = Ntext;
}
int Label::GetColor()
{
return color;
}
void Label::SetColor(int value)
{
color = value;
}
Label::~Label()
{
}
<code>
答案 0 :(得分:0)
您可以将颜色设为包含红色蓝色和绿色的数组。
int color[3];
void SetColor(int red, int green, int blue){
this->color[0] = red;
this->color[1] = green;
this->color[2] = blue;
}
答案 1 :(得分:0)
除了如何表示颜色的问题(实际上根据类的使用方式而有所不同,例如,它可以是red
,black
,{{1另外要考虑的是,在OOP方面,getter和setter并不好。
OOP的想法是隐藏对象内的数据并指示这些对象做一些有用的事情(发送消息)。
使用getter和setter打开内部实现(实际上就像将white
和text
定义为公共属性一样。它听起来不错,对吧?但是实际上它就是这样,你可以阅读和修改它们就好像它们是公开的一样。
因此,更好的实现可能是将文本和颜色都作为构造函数参数。这样,标签就会显示足够的信息,因此您不需要设置setter / getters,如下所示:
color
有关getter / setter主题的更多信息: