PDA

View Full Version : مبتدی: تفاوت بین متغیر و کلاس و شی در شی گرایی



Maziar47
شنبه 16 مرداد 1395, 18:42 عصر
آقا من فرق بین متغیر و کلاس و شی رو نمیفهمم:ناراحت::گریه::گریه:: شتباه::اشتباه::اشتباه::لبخن :

mrprestige
شنبه 16 مرداد 1395, 20:22 عصر
سلام دوست من وقتت بخیر ، سوالی که پرسیدی هر کدوم از این بخش هایی که الان فرمودی تعیف گسترده ای داره ولی در همین حد بهتون عرض کنم برای تعریف متغییر این رو میتونم بهت بگم برای پیاده سازی خصوصیات ظاهری ما از متغییر ها استفاده میکنیم اگه بخوایم کلاس رو هم برات تعریف کنم با مثال میگم اینطوری بهتر متوجه میشی ببین شما حساب کن میخواید به مسافرت برید مسلماً قبل از اینکه آماده سفر بشید وسایلتون رو داخل یک ساک قرار میدید و نمیتونید تمام وسایلتون رو تودستتون بگیرید و با خودتون جابجا کنید این یه کار خسته کننده و بیهوده ای هست حالا در دنیا برنامه نویسی هم به این شکل هست شما برای اینکه یه نظمی به کدهاتون بدید میاید از کلاس استفاده میکنید کلاس حکم همون ساک رو داره حالا بریم سراغ تعریف شی ( اینم با مثال برات تعریف میکنم ) شما همون ساک رو در نظر بگیر برای مثال برادرتون از شما میخواد پیراهنش رو از ساک با رنگ مشکی بهش بدید اینجا شما میدونید ملاک اینکه پیراهن برادرتون میتونه توی کدوم ساک باشه ساک مشکی هست . حالا در دنیای برنامه نویسی برای اینکه بتونید از محتویات یه کلاس استفاده کنید باید یه نمونه یا همون شی ازش بسازی تا برنامه بفهمه شما دقیقا با کدوم کلاس کار دارید .

بازم عرض میکنم تا حد امکان خیلی از سر و ته توضیحاتم زدم تا در حد امکان بتونم فحوای کلام رو برسونم و اگر هم تازه وارد این عرصه شدید بهتون تبریک میگم دنیای کامــــــــــــــــــــــ ـــلا جذاب و دوست داشتنی هست

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

rasol_afkham
یک شنبه 17 مرداد 1395, 21:27 عصر
شیع گرایی یعنی هر چیز رو همانند یک شیع در نظر بگیرید. پس هم متغیر و هم کلاس هر دو شیع هستند.
متغیر: گاهی وقتها در برنامه احتیاج به یک متغیر ساده دارید. مثلا می خواهید یک عدد صحیح رو در خود نگه دارد و یا یک رشته. اینجا می توانید از کلمات کلیدی استفاده کنید. همانند int, byte, string, ...
کلاس: گاهی در برنامه نیاز به متغیری دارید که بتواند اطلاعات زیادی رو در خود نگه دارد. برای مثال من در یک برنامه گرافیکی که می نوشتم برای ترسیم اشکال نیاز به کلاسی داشتم که هم خطوط و هم خصوصیات آنها و هم تعداد روش و تابع در خود نگه دارد. و همچنین کلاس هایی دیگر برای کارهای دیگر. برای مثال کلاسی برای نگه داشتن اطلاعات کادر. چون در برنامه نیاز بود که کادری ترسیم شود و هر کادر خود شامل چندین شکل و خصوصیات آنها بود. و همچنین کلاس هایی دیگر که با یک متغیر ساده نمی شود آنها را ایجاد نمود. کلاس خود شامل متغیرها و توابع دیگر است و حتی متغیرهایی از کلاس های دیگر. پس وقتی ما یک نمونه از یک کلاس ایجاد می کنیم در اصل داریم یک متغیر از نوع آن کلاس ایجاد می کنیم.

جمع بندی: کلاس قطعه برنامه کوچکی است (و یا شاید هم بزرگ) که ما برای نظم دادن به برنامه مان می سازیم. تا برنامه به برنامه های کوچک تر تقسیم شود تا هم مدیریت کدها ساده تو شود و هم برنامه خوانا تر شود. اما متغیر، یک شیع است که از نوع آن کلاس (یا هر کلاس دیگر) ایجاد شده. در اصل برای استفاده از کلاس باید یک نمونه از آن ایجاد نماییم که این نمونه یا شیع را متغیر می گوییم.

payam@265
یک شنبه 17 مرداد 1395, 22:27 عصر
مثلا a=5. حرف a یک متغیر هستش که مقدار 5 را دارد. و { a=5 b=6 c=a+b} رو میشه یک تابع در نظر گرفت که مقادیر a و b را با هم جمع میکند و در متغیر c قرار میدهد.

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