PDA

View Full Version : سوال: implemen class



mehdihadeli
چهارشنبه 07 مهر 1389, 17:01 عصر
کلاسی مثل list<T> کجا مقادیر متدهاش تعریف شده ؟آیا توسط کلاس دیگری implement شده؟

میلاد قاضی پور
چهارشنبه 07 مهر 1389, 18:00 عصر
من میخواستم توضیح بدم اما گفتم شاید سوألت رو درست متوجه نشدم. توی این لینک اینکه این کلاسها از کجا میان و توشون چه کدهایی هست توضیح داده .
http://msdn.microsoft.com/en-US/library/0x6a29h6%28v=VS.80%29.aspx

mehdihadeli
چهارشنبه 07 مهر 1389, 19:30 عصر
کد ها چرا بدنه ندارند فقط absract member ها وinterface
ها بدنه ندارند در صورتی که کدی مانند این که یه کلاسه اعضاش بدنه ندارند؟


public class ArrayList : IList, ICollection, IEnumerable, ICloneable
{
public ArrayList();

public ArrayList(ICollection c);

public ArrayList(int capacity);

public virtual int Capacity { get; set; }

public virtual int Count { get; }

public virtual bool IsFixedSize { get; }


public virtual bool IsReadOnly { get; }

public virtual bool IsSynchronized { get; }

public virtual object SyncRoot { get; }
{

علیرضا مداح
چهارشنبه 07 مهر 1389, 19:30 عصر
سلام،
لطفا" سوال خود را صحیح مطرح کنید،
منظور شما از "مقادیر متدها" چی هست؟ Extension Method ها؟

،/

میلاد قاضی پور
چهارشنبه 07 مهر 1389, 21:27 عصر
کد ها چرا بدنه ندارند فقط absract member ها وinterface
ها بدنه ندارند در صورتی که کدی مانند این که یه کلاسه اعضاش بدنه ندارند؟


public class ArrayList : IList, ICollection, IEnumerable, ICloneable
{
public ArrayList();

public ArrayList(ICollection c);

public ArrayList(int capacity);

public virtual int Capacity { get; set; }

public virtual int Count { get; }

public virtual bool IsFixedSize { get; }


public virtual bool IsReadOnly { get; }

public virtual bool IsSynchronized { get; }

public virtual object SyncRoot { get; }
{
بدنش همینه . این یک رابط(اینترفیس) هست که بعدا هر کلاسی ازش به ارث ببره برای همین متدها باید توی اون کلاس کد نوشت . در واقع این اینترفیس رو توی اون کلاس پیاده سازی میکنیم اصطلاحا .