2010-03-29 8 views
6

निम्नलिखित वर्ग (MyClass) के लागतकर्ता में ": आधार" का अर्थ क्या है? कक्षा MyClass के लिए नीचे दिए गए कन्स्ट्रक्टर परिभाषा के पीछे अवधारणा की व्याख्या करें।कन्स्ट्रक्टर परिभाषा में "आधार" का अर्थ क्या है?

public class MyClass: WorkerThread 
{ 
     public MyClass(object data): base(data) 
     { 
      // some code  

     } 
} 

public abstract class WorkerThread 
{ 

     private object ThreadData; 
     private Thread thisThread; 

     public WorkerThread(object data) 
     { 
      this.ThreadData = data; 
     } 

     public WorkerThread() 
     { 
      ThreadData = null; 
     } 
} 

उत्तर

18

आधार वर्ग WorkerThread है बुला प्रभाव में आधार वर्ग (WorkerThread) के निर्माता के माध्यम से गुजर रहे हैं। जब आप MyClass बनाते हैं, तो इसके किसी भी निर्माता का उपयोग करके वर्कर थ्रेड बनाया जाना चाहिए।

base(data) लिखकर आप प्रोग्राम को एक वर्कर थ्रेड के कन्स्ट्रक्टर का उपयोग करने के लिए निर्देश दे रहे हैं जो पैरामीटर के रूप में data लेता है। यदि आप नहीं करते हैं, तो प्रोग्राम एक डिफ़ॉल्ट कन्स्ट्रक्टर का उपयोग करने का प्रयास करेगा - जिसे कोई पैरामीटर नहीं कहा जा सकता है।

+6

बुला और वह baseclass निर्माता निष्पादित करने के लिए * पहले * वर्तमान निर्माता कार्यान्वित की गारंटी है की तरह

की

क्रमबद्ध। –

0

इसका मतलब है कि आप MyClass निर्माता को पारित कर दिया डेटा पैरामीटर

public WorkerThread(object data) 
{ 
    this.ThreadData = data; 
} 
2

यह उस वर्ग के निर्माता को देता है जो इसे प्राप्त करता है, और अनुसार तर्क प्रदान करता है।

new WorkerThread(data) 
-1

एक दुर्लभ मामले में जहां वीबी स्पष्ट हो सकता है ...

Public Class MyClass 
    Inherits WorkerThread 

    Public Sub New(data) 
    MyBase.New(data) 
    End Sub 

End Class 
+0

मुझे यह पसंद नहीं है कि वीबी आपके द्वारा किए गए किसी भी स्पष्ट बनाता है, लेकिन तथ्य यह है कि यह है। – StingyJack

संबंधित मुद्दे