I am working on some code that was previously written by another developer, and I came across the block of code below:
/// <summary>
/// Default Constructor.
/// </summary>
public Body(Revision parent)
{
mContainer = parent;
mSections = new ArrayList();
mSummary = new ArrayList();
}
/// <summary>
/// Constructs a Body from specified ParseElement.
/// </summary>
/// <param name="parent">Revision container.</param>
/// <param name="elem">Source ParseElement.</param>
public Body(Revision parent, ParseElement elem) : this(parent)
{more constructing stuff}
From what I understand, is that the overloaded constructor would also call the default constructor with the Revision that I send in, causing the initialized ArrayLists to be accessible from the overloaded constructor. Is this correct, or am I totally confused?
Logo C merupakan sebuah lambang yang merujuk pada Copyright, yang berarti hak cipta.
C adalah huruf ketiga dalam alfabet Latin. Dalam bahasa Indonesia, huruf ini disebut ce (dibaca [tʃe]).
Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia.
Bahasa pemrograman C ini dikembangkan antara tahun 1969 – 1972 oleh Dennis Ritchie. Yang kemudian dipakai untuk menulis ulang sistem operasi UNIX. Selain untuk mengembangkan UNIX, bahasa C juga dirilis sebagai bahasa pemrograman umum.
Yes, that is correct. However, to correct your terminology:
This is correct and the technique is called constructor chaining. In this scenario the this
call can be loosely visualized as saying
Run the specified constructor before the current constructor
They both run against the same object instance so changes in the called on are visible in the original.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With