PDA

View Full Version : تفاوت مفهوم Class و Struct



sanazebrahimi
جمعه 17 اردیبهشت 1389, 16:54 عصر
دوستان وقت بخیر.
لطفا به مثال و توضیح بین کلاس و استراکت رو برامون توضیح بدین.

amir-yeketaz
جمعه 17 اردیبهشت 1389, 20:43 عصر
فرقشون در حالتیه که از خودشون نشون میدن
یعنی کلاس ها reference type هستن ولی struct ها حالت value type دارن و یه سری تفاوت های دیگه ...
اگه میخوای خوب متوجه تفاوتشون بشی به لینک زیر برو
http://www.csharptuning.blogfa.com/86104.aspx
امیدوارم که مفید واقع شده باشه
موفق باشید...

Amir 2010a
جمعه 17 اردیبهشت 1389, 21:49 عصر
کلاس و Struct شباهت زیادی با هم دارند ولی چند تفاوت مهم بین آنها وجود دارد که بشرح زیر است

در ساختار
1- نوع مقداری
2- نمونه سازی در حافظه Stack
3- سازنده پیش فرض برای آن نمیتوانید تعریف کنید
4- اگر سازنده مربوط به خودتان برای ساختار تعریف کنید کامپایلر سازنده پیش فرض تولید خواهد کرد
6- اگر یک فیلد رو در سازنده مربوط به خودتان مقداردهی نکردید کامپایلر بطور اتوماتیک آنرا مقدارهی اولیه نخواهد کرد
7- در لحظه تعریف فیلدها نمیتوانید آنها را مقداردهی کنید
8- تفاوت اصلی این دو در بحث وراثت است یک کلاس میتواند از کلاس پایه ارث ببرد ولی یک ساختار نمیتواند


در کلاس
1- نوع ارجاعی
2- نمونه سازی در حافظه Heap
3- سازنده پیش فرض برای آن میتوانید تعریف کنید
4- اگر سازنده مربوط به خودتان برای ساختار تعریف کنید کامپایلر سازنده پیش فرض تولید نخواهد کرد
6- اگر یک فیلد رو در سازنده مربوط به خودتان مقداردهی نکردید کامپایلر بطور اتوماتیک آنرا مقدارهی اولیه میکند
7- در لحظه تعریف فیلدها در کلاس میتوانید آنها را مقداردهی کنید

sara1368
جمعه 17 اردیبهشت 1389, 22:38 عصر
سلام
خیلی راحت اگه بخوام بگم
وقتی داریم یه برنامه مینویسیم که توش احتیاج داریم مقداری اطلاعات که هر کدوم نوع دادهای متفاوتی دارن ولی همشون به یه موضوع مربوط میشن را در یک گروه از کلاس ذخیره میکنیم مثلا وقتی شما میخوای اسم یه دانشجو(رشته)با کد دانشجویی(از نوع عددی) رو یه جا داشته باشی یه کلاس تعریف میکنی اما روش دیگه برای نگه داشتن این اطلاعات استفاده از ساختاره(struct)

به طور کلی وقتی میخوای متدها و توابعو خاصیت های زیادی رو که همه با هم مرتبط هستن در یک گروه قرار بدین باید از کلاس استفاده بشه در غیر این صورت از ساختار

امیدوارم مفید باشد
موفق باشید