2

LetterRectというクラスがあり、2つのフィールドがLetterSquareタイプです。例えば:

public class LetterRect : Microsoft.Xna.Framework.GameComponent
{
    private LetterSquare square1;                        
    private LetterSquare square2;
    private long indentificationNumber;
    ... other fields that are irrelevant to this question
}

square1とsquare2を介してLetterRectオブジェクトへの参照を取得できるようにしたいと思います。私の最初の解決策は、LetterRectと対応するsquare1およびsquare2に長整数の同じidentificationNumberを与えることでした。ただし、識別番号なしでLetterRectにアクセスする方法はありますか?継承関係は絶対にありません。それは構成、つまり「has-a」関係です。Javaで正しく覚えていれば、内部クラスがメンバーであるクラスのインスタンスを直接参照できる内部クラスの概念があります。それで、square1とsquare2を介してLetterRectオブジェクトへの参照を取得するためのより良い方法はありますか?

すべての助けをありがとう!

4

1 に答える 1

1

これを試して;

public class LetterRect : Microsoft.Xna.Framework.GameComponent
{
    private LetterSquare square1;
    private LetterSquare square2;
    public LetterRect()
    {
        square1 = new LetterSquare(this);
        square2 = new LetterSquare(this);
    }
}

public class LetterSquare 
{
    public LetterRect LetterRectProp { get; private set; }
    public LetterSquare (LetterRect letterRect )
    {
        this.LetterRectProp = letterRect;
    }
}
于 2012-05-11T14:39:24.123 に答える