ساختار ها (struct) <بخش اول>
ساختار یک نوع مقداری (value type) است. نحوه تعریف و پیاده سازی آنها بسیار شبیه کلاس می باشد.
تفاوت بین کلاس و ساختار :
کلاس ها انواع ارجاعی (reference types) هستند. انواع مقداری، مقادیرشان را در همان نقطه ای از حافظه که در آن تعریف شده اند ذخیره می کنند، اما انواع ارجاعی اشاره گری را به شیئی در حافظه نگهداری می کنند.
در ساختار ها ما قادر به پیاده سازی ارث بری نیستیم در عوض ارثب ری واسط ها را می تونیم در اختیار داشته باشیم و استفاده کنیم
در دات نت انواع داده بسیار زیادی وجود دارند که از نوع ساختار هستند که بصورت پیش ساخته هستند. مثلا : System.int32 از نوع System.Single
پیاده سازی یک ساختار :
رفتار های بین کلاس ها و ساختار ها کاملا با یکدیگر متفاوت می باشند، اما پیاده سازی آنها به یکدیگر بسیار شبیه است ، دقت کنید که تفاوت در استفاده از کلمه کلیدی Struct بجای Class می باشد به مثال زیر دقت کنید
کد:
struct Rectangle
{
private int m_width;
public int Width
{
get
{
return m_width;
}
set
{
m_width = value;
}
}
private int m_height;
public int Height
{
get
{
return m_height;
}
set
{
m_height = value;
}
}
}
در کد بالا ساختار ما یک مستطیل با خاصیت های طول و عرض می باشد.
دوستان توجه کنید که تفاوت درکلمۀ کلیدی class است که جای آن از struct استفاده شده است.