سلام
من نتونستم تفاوتشون رو بفهمم و همچنین مثالی پیدا کنم برای تفاوت اینها
http://msdn.microsoft.com/en-us/libr...=vs.71%29.aspx
بین سازنده ساختار با کلاس برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
سلام
من نتونستم تفاوتشون رو بفهمم و همچنین مثالی پیدا کنم برای تفاوت اینها
http://msdn.microsoft.com/en-us/libr...=vs.71%29.aspx
بین سازنده ساختار با کلاس برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
|
|
مدیر انجمن برنامه نویسی و رباتیک
سلام!
Class و Struct از جهاتی خیلی شبیه هم هستن ولی چندین تفاوت اساسی با هم دارن که بنده همه شون رو نمی دونم و فقط اونایی را که بلدم ذکر می کنم:
- شی ناشی از Class در Heap ذخیره میشه ولی شی ناشی از Struct در Stack (تفاوت حافظه ی Heap و Stack)
- Class به شکل یه Reference type تعریف میشه ولی Struct به صورت Value type هستش. در نتیجه اگر مقدار یه Class تغییر کنه، مقدار کل کپی های ایجاد شده از اون Class هم تحت تاثیر قرار می گیره ولی در Struct این طور نیست.
- Class می تونه از یک کلاس و یا ساختار دیگه ارث بری کنه ولی Struct نه می تونه از کلاس ارث بری کنه و نه از ساختار دیگه ای.
- Struct ها نمی تونن مقدار null داشته باشن و Class ها می تونن.
- مقدار دهی اولیه در یک کلاس مجازه ولی در ساختار مجاز نیست (اطلاعات بیش تر).
- تعریف تابع بدون پارمتر در ساختار مجاز نیست ولی در کلاس مجازه.
- در تعریف یک شی جدید از Class عملگر new الزامی هستش ولی در Struct نیازی نیست.
در کل کاربرد کلاس نسبت به ساختار بیش تره ولی زمانی که با تعداد زیادی عنصر کوچک در قالب یک آرایه سروکار داریم (مثل آرایه ای از هزار تا نقطه) ساختار ها هم می تونن عملکرد بهتری داشته باشن. برای اطلاعات بیش تر:
http://www.dotnetperls.com/struct-versus-class
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
Mehrdad_CS (27-07-13)
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks