PDA

مشاهده نسخه کامل : سازنده ساختار با کلاس



life24
26-07-13, 00:59
سلام
من نتونستم تفاوتشون رو بفهمم و همچنین مثالی پیدا کنم برای تفاوت اینها
Only the registered members can see the link

بین سازنده ساختار با کلاس :whistle:

ravegoat
26-07-13, 22:43
سلام!

Class و Struct از جهاتی خیلی شبیه هم هستن ولی چندین تفاوت اساسی با هم دارن که بنده همه شون رو نمی دونم و فقط اونایی را که بلدم ذکر می کنم:



شی ناشی از Class در Heap ذخیره میشه ولی شی ناشی از Struct در Stack (تفاوت حافظه ی Heap و Stack (Only the registered members can see the link))
Class به شکل یه Reference type تعریف میشه ولی Struct به صورت Value type هستش. در نتیجه اگر مقدار یه Class تغییر کنه، مقدار کل کپی های ایجاد شده از اون Class هم تحت تاثیر قرار می گیره ولی در Struct این طور نیست.
Class می تونه از یک کلاس و یا ساختار دیگه ارث بری کنه ولی Struct نه می تونه از کلاس ارث بری کنه و نه از ساختار دیگه ای.
Struct ها نمی تونن مقدار null داشته باشن و Class ها می تونن.
مقدار دهی اولیه در یک کلاس مجازه ولی در ساختار مجاز نیست (اطلاعات بیش تر (Only the registered members can see the link)).
تعریف تابع بدون پارمتر در ساختار مجاز نیست ولی در کلاس مجازه.
در تعریف یک شی جدید از Class عملگر new الزامی هستش ولی در Struct نیازی نیست.


در کل کاربرد کلاس نسبت به ساختار بیش تره ولی زمانی که با تعداد زیادی عنصر کوچک در قالب یک آرایه سروکار داریم (مثل آرایه ای از هزار تا نقطه) ساختار ها هم می تونن عملکرد بهتری داشته باشن. برای اطلاعات بیش تر:
Only the registered members can see the link