例如,我创建了一个 Button 类。Button
应该有自己的文本(颜色、大小、字体、间距等)、状态和背景。
因为文本标签即使在另一个小部件(文本标签、文本编辑等)中也很有用。我把所有需要的东西放在另一个类中(称之为Label
)。
背景颜色也很有用,所以我创建了另一个类 -Color
使用所有需要的方法 - 更改,比较......
现在回到 Button 类。
class Button {
private:
Color _bgColor;
Label _text;
/* another private members */
public:
/* Content of Button class */
};
但是如果我想改变按钮的背景颜色呢?在这种情况下,我需要编写另外两个方法 =>setColor
和getColor
. 事实上,我必须编写为Color
类定义的所有方法。
另一种选择是将私有类定义为公共类并像button.bgColor.setColor()
. button.disable
但对我来说,一次又一次地打电话似乎很奇怪button.color.setColor
。
还有其他我不知道的选择吗?谢谢你的帮助。