पहले बेस क्लास कन्स्ट्रक्टर को व्युत्पन्न क्लास कन्स्ट्रक्टर के बाद बुलाया जाता है। परिणाम 2 है। आपको स्पष्ट रूप से उस वर्ग चर की पहुंच सुनिश्चित करना चाहिए। क्या यह संरक्षित, निजी या सार्वजनिक है?
मैं तुम्हें अब जनता के लिए इसे बदल देखते हैं, तो यह हो जाएगा 2.
यह लिंक आगे की मदद से आप कंस्ट्रक्टर्स समझते हैं, कि वे किस तरह उपयोग किया जाता है, जब वे कहा जाता है और आदेश निर्माता कॉल के लिए जब आप का उपयोग विरासत:
http://www.yoda.arachsys.com/csharp/constructors.html
इसके अलावा, आप आप अभ्यास और कोड तो लिख बस इसे पढ़ कर और जानेंगे, वास्तव में अपने आप को इस की कोशिश कर सकते हैं।
बार घोषित करने और इसके मूल्य को आउटपुट करने का प्रयास करें। कुछ गुणों का उपयोग करें:
class Foo
{
public int abc;
public Foo()
{
abc = 3;
}
public int ABC
{
get { return abc; }
set { abc = value; }
}
}
class Bar : Foo
{
public Bar() : base()
{
abc = 2;
}
}
class Program
{
static void Main(string[] args)
{
Bar b = new Bar();
Console.WriteLine(b.ABC);
Console.ReadLine();
}
}
एक साधारण प्रिंटआउट परिणाम प्रदान करेगा जो आप खोज रहे हैं।
alt text http://img141.imageshack.us/img141/9238/rrrrr.jpg
तुम सिर्फ प्यार मत करो मेरी namespace
:-): यहाँ उत्पादन होता है। जिस तरह से आप स्वचालित गुणों का भी उपयोग कर सकते हैं ताकि संपत्ति केवल सार्वजनिक int एबीसी {get; set;} हो।
सदस्य चर होने के लिए खराब अभ्यास सार्वजनिक हो गया। आप सी # ऑब्जेक्ट्स शुरू करने पर एक अच्छी किताब लेना चाह सकते हैं। – JonH
http://stackoverflow.com/questions/1882692/c-constructor-execution-order का डुप्लिकेट, एक भयानक स्वीकार्य उत्तर और एरिक लिपर्ट ब्लॉग प्रविष्टियों को जोड़ने वाली टिप्पणियों के साथ कम नहीं। –