-1

基本クラスから子供にアクセスするにはどうすればよいですか?

私のクラスは次のように設定されています。

abstract class Bank
{
    public Bank(int One, int Two)
    {
    }
}

public class Checking : Bank
{
    public Checking(int One, int Two) : base(One, Two)
    {
    }
}

public class Savings : Parent
{
    public Savings(int One, int Two) : base(One, Two)
    {
    }
}

Bankクラスで、必要に応じて小切手と普通預金の両方をインスタンス化するにはどうすればよいですか?

私は次のようなことをしたい:

Bank B = new Savings(....);
B = new Checkings(....);

B.Savings.Foo(......);
B.Checkings.Foo(.....);
4

3 に答える 3

2

Checkingsインスタンスとの両方を保持するクラスを作成しますSavings

public class BankTuple
{
    public BankTuple(int one, int two)
    {
        Checkings = new Checkings(one, two);
        Savings = new Savings(one, two);
    }

    public Checkings Checkings { get; private set; }

    public Savings Savings { get; private set; }
}

次にそれを使用します:

var tuple = new BankTuple(1, 2);
// tuple.Checkings
// tuple.Savings
于 2012-11-12T00:38:23.177 に答える
0

変数Bは、メモリ内の1つのオブジェクトへの参照のみを保持できます。複数のオブジェクトへの参照を保持する必要がある場合は、コレクションの使用を検討してください。

List<B> banks = new List<B>();
banks.Add(new Savings());
banks.Add(new Checkings());

また、タイプミスがあると思います。一部からではなく、からSavings継承する必要があります。BankParent

于 2012-11-12T00:34:11.953 に答える
0

オブジェクト指向プログラミングでは、親クラスは子AFAIKについて決して知らないはずです。理由についてのリンクで更新されます。

于 2012-11-12T00:38:08.810 に答える