Field
の値が
DerivedA
と
DerivedB
クラスに変更されるこのシナリオで
class BaseClass
{
public int Field = 1;
}
class DerivedA : BaseClass
{
public int SetField6()
{
return this.Field = 6;
}
}
class DerivedB : BaseClass
{
public int SetField16()
{
return this.Field = 16;
}
}
BaseClass x = new BaseClass();
int xField = x.Field;
DerivedA y = new DerivedA();
int yField = y.SetField6();
DerivedB z = new DerivedB();
int zField = z.SetField16();
int baseField = new BaseClass().Field;
からの値を変更し、BaseClass
クラスのField
の値は変更されません。したがって、baseField
の値はまだ1
です。派生クラス
- それが派生クラスから、クラスで
BaseClass
をField
の値を変更することは可能ですか? - このシナリオのデザインパターンはありますか?それは何と呼ばれていますか?
なぜ、わかりやすい名前を使用してすべてのコードを提供しますか?あなたはあなたが言っていることに従うことがどれほど難しい**知っていますか? –
Ok ... 20分後、私はすべてをリファクタリングして言い換えました...うまくいけば、他の人のために今読むのが楽になるはずです。 –
素晴らしいサービス、@ジェフ。人々はもっと頻繁にここで食事をしなければならない – Xiaofu