您应该对复杂数据类型使用访问器吗?这是一个例子:
假设我有一个Player
类,里面有一个Sprite
对象。假设该Sprite
对象有一个setPosition()
访问器方法。现在假设我想通过播放器调用该方法,所以我Sprite
在Player
.
class Player
{
public:
const Sprite& getSprite() const;
private:
Sprite sprite;
}
现在假设我创建了一个“播放器”对象,我setPosition
该如何调用sprite
?我不能说playerObject.getSprite().setPosition();
是因为方法返回的Sprite
引用getSprite()
是 const。
考虑到该对象具有针对其所有成员的保护,我是否应该sprite
在这种情况下公开该对象?sprite
或者这是一种不好的做法,我确实需要使用访问器?