PART I
C h a p t e r 1 1 :
I n h e r i t a n c e
289
PART IPART I
Console.WriteLine("Constructing B.");
}
}
// Create a class derived from B.
class C : B {
public C() {
Console.WriteLine("Constructing C.");
}
}
class OrderOfConstruction {
static void Main() {
C c = new C();
}
}
The output from this program is shown here:
Constructing A.
Constructing B.
Constructing C.
As you can see, the constructors are called in order of derivation.
If you think about it, it makes sense that constructors are executed in order of derivation.
Because a base class has no knowledge of any derived class, any initialization it needs to
perform is separate from and possibly prerequisite to any initialization performed by the
derived class. Therefore, it must be executed first.
Do'stlaringiz bilan baham: |