複雑なデータ型でアクセサーを使用する必要がありますか? 以下に例を示します。
Playerクラスがあり、その中にオブジェクトがあるとしますSprite。SpriteオブジェクトにsetPosition()アクセサメソッドがあるとしましょう。ここで、プレーヤーを介してそのメソッドを呼び出したいとします。そのため、SpriteオブジェクトへのアクセサーをPlayer.
class Player
{
public:
const Sprite& getSprite() const;
private:
Sprite sprite;
}
ここで、'Player' オブジェクトを作成するとsetPositionしspriteます。メソッドが返す参照が const であるplayerObject.getSprite().setPosition();ため、一概には言えません。SpritegetSprite()
オブジェクトがそのすべてのメンバーに対して保護されていることをsprite考慮して、この状況でオブジェクトを公開する必要がありますか? spriteまたは、それは悪い習慣であり、アクセサーを使用する必要がありますか?