2010-03-29 19 views
6

": base" ifadesinin anlamı, aşağıdaki sınıf (MyClass) maliyet uzmanı? Sınıf MyClass için aşağıda verilen kurucu tanımının arkasındaki kavramı açıklayınız.Kurucu tanımındaki ": base" ifadesinin anlamı nedir?

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; 
     } 
} 

cevap

18

çağrı etkisi temel sınıf (WorkerThread) kurucusuna yoluyla Sınıfım yapıcıya iletilen veri parametresi geçen anlamına gelir. Bir MyClass oluşturduğunuzda, kurucularından herhangi birini kullanarak bir WorkerThread oluşturulmalıdır.

base(data) yazarak, programa bir WorkerThread kurucusunu data parametresini bir parametre olarak alacak şekilde talimat vermektesiniz. Eğer bunu yapmazsa, program varsayılan bir kurucu kullanmayı deneyecektir - bu, hiçbir parametresi olmadan çağrılabilir.

+6

arayarak Ve bu AnaSınıf yapıcı * Mevcut yapıcı yürütmeden önce * yürütülecek garanti edilir gibi. –

0

Bu temel sınıf WorkerThread olan

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

İçerdiği sınıfın yapıcısını çağırır ve ilgili bağımsız değişkenleri sağlar. arasında

Sıralama

new WorkerThread(data) 
-1

VB net olabilir Nadir durumda ...

Public Class MyClass 
    Inherits WorkerThread 

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

End Class 
+0

VB'nin sizden daha net olmasını istemiyorum ama gerçek şu ki. – StingyJack