تفاوت Struct با Class
سوال
سلام دوستان تفاوت structure و class در چیه و چه مواقعی بهتره از ساختار استفاده کرد؟ اگر امکان داره یک مثال هم بزنید.
در حال بررسی
0
انجمن برنامه نویسان سی شارپ
2 سال
1 پاسخ
233 دیده شده
1
پاسخ ( ۱ )
با سلام خدمت شما
به طور کلی در زبان برنامه نویسی سی شارپ از class و structure برای تعریف انواع دادههای local استفاده میشه اما این دو تفاوت هایی با همدیگه دارند که از جمله این تفاوتها موارد زیر هست:
۱) وراثت(inheritance): یک کلاس میتونه از کلاس دیگه ارث ببره، اما یک structure نمیتونه.
۲) structure یک value type هست به صورتی که اگر ما یک instance از اون بسازیم حافظه ایی بر روی stack برای اون instance اختصاص داده میشه این درحالیه که classها reference type هستند و اگر instanceایی از اونها ساخته بشه براشون حافظه ایی در heap در نظر گرفته میشه.
۳) عملکرد (Performance): structureها معمولاً سریعتر از classها هستند چون هم اندازه اونها کوچکتر هست، هم از حافظه کمتری استفاده میکنند و هم سربار کمتری دارند.
۴) از classها برای تعریف انواع پیچیده استفاده میشه در حالی که structureها برای انواع دادههای کوچک و ساده استفاده میشن.
۵) structureها را می توان با استفاده از syntax ({}) مقداردهی کرد، در حالی که classها را نمیتونیم به این شکل مقداردهی کنیم.
امیدوارم براتون مفید واقع شه دوست عزیز!