2

文字列(「名前」)と機能の辞書(「機能」)を持つクラスがあります。インスタンスは、ファイル内の名前を検索し、そこから機能を引き出すことによって構築されます。コードの他の場所でディクショナリに追加機能を追加しています。私が知りたいのは、子のコンストラクターで親オブジェクトのインスタンスを使用することは可能ですか?

例えば

public parentClass(string name)
{
    this.name = name
    this.features = ... gets features from file ...
}

public childClass(parentClass parentObject, feature extraFeatureValue)
{
   childObject = parentObject???
   this.features[extraFeature] = extraFeatureValue
}

私は
、a) 追加機能を備えたオブジェクト用の新しいクラスを用意する必要があると想定しています。そのため、どちらがどれであるかを知ることができます
。b) 新しいクラスを古いクラスの子にします。これは、いくつかの追加機能にすぎないためです。メソッドを保持する

ありがとう

4

3 に答える 3

0

以前の回答 (現在は削除されています) は、私が探していたものでした: 同じ型の別のオブジェクトを引数として取る「コピー コンストラクター」が可能です。

http://msdn.microsoft.com/en-us/library/ms173116(v=vs.80).aspx

したがって、これらのいずれかを親クラスに追加してから、子クラスで拡張できます。

public Animal(Animal previousAnimal)
{
    this.name = previousAnimal.name;
    this.features = previousAnimal.features;
}

public Fish(parentClass animal, bool isSaltwater)
    : base(parentClass animal)
{
   this.features[SaltWaterFish] = isSaltwater;
}
于 2013-06-18T10:05:06.650 に答える