0

複雑なデータ型でアクセサーを使用する必要がありますか? 以下に例を示します。

Playerクラスがあり、その中にオブジェクトがあるとしますSpriteSpriteオブジェクトにsetPosition()アクセサメソッドがあるとしましょう。ここで、プレーヤーを介してそのメソッドを呼び出したいとします。そのため、SpriteオブジェクトへのアクセサーをPlayer.

class Player
{
public:
    const Sprite& getSprite() const;

private:
    Sprite sprite;
}

ここで、'Player' オブジェクトを作成するとsetPositionspriteます。メソッドが返す参照が const であるplayerObject.getSprite().setPosition();ため、一概には言えません。SpritegetSprite()

オブジェクトがそのすべてのメンバーに対して保護されていることをsprite考慮して、この状況でオブジェクトを公開する必要がありますか? spriteまたは、それは悪い習慣であり、アクセサーを使用する必要がありますか?

4

1 に答える 1