• مقدمه

تا بخش شماره ۵۷ از سری آموزش‌های زبان برنامه‌نویسی سی‌شارپ، شما با اصول کلی برنامه‌نویسی، نحوه استفاده از Componentها در منوی Toolbox و … آشنا شدید. از این شماره آموزشی به بعد، شما با مفاهیم اصلی شی‌گرایی آشنا خواهید شد. پس با ما همراه باشید.

  • مقدمه‌ای بر شی‌گرایی:

زبان سی‌شارپ دات نت، یک زبان کاملاً شی‌گرا می‌باشد. شیء‌ها از کلاس‌ها (Classes) ساخته می‌شوند که البته شما هم‌اکنون با آن‌ها آشنا هستید. Windows Form که تا کنون از آن استفاده می‌کردیم خود یک کلاس بود و وقتی که شما برنامه خود را اجرا می‌کنید، یک شیء از این کلاس ساخته می‌شود که در نهایت شما فرم طراحی شده را می‌بینید. یک button، یک textbox و همه موارد مشابه یک کلاس هستند که هنگامی یک نمونه از آن‌ها را در فرم خود قرار می‌دهید، یک شیء از آن‌ها ساخته می‌شود که درنهایت باعث می‌شود که آن‌ها را ببینید.

Encapsulation

در ادامه این سری آموزشی، می‌خواهیم که شما را با نحوه نوشتن کلاس‌های شخصی و ساخت Objectها (شیءها)یی از این کلاس آشنا سازیم.

  • کلاس یا Class چیست؟

Class در واقع مجموعه‌ای از کدهاست که یک کار بخصوصی را انجام می‌دهند. برای مثال، شما ممکن است که یک کلاس داشته باشید تا عملیات مربوط به Database (بانک اطلاعاتی) را انجام دهد و یا کلاس دیگری جهت بررسی خطاها هنگام اجرای برنامه را بر عهده بگیرد.

هدف و ایده‌ای که در پشت Classها وجود دارد این است که باعث می‌شود کدهای شما، قابلیت استفاده مجدد را داشته باشند (Reuse) و حتی بتوانید آن‌ها در چندین پروژه استفاده کنید؛‌ که همین باعث می‌شود که شما حجم کمتری از کدها را بنویسید.

کلاس را شبیه به یک دستورالعمل تصور کنید؛ اگر که شما دستورالعمل پخت یک کیک موز را داشته باشید، دستورالعمل به شما می‌گوید که باید چه‌کارهایی برای تهیه این کیک انجام دهید، اما این دستورالعمل، خود یک کیک نیست! ولی اگر این دستورالعمل دردسترس باشد، می‌توانید به‌راحتی هر وقت که دلتان بخواهد، کیک را درست کنید.

ممکن است دریافت و هضم معنی کلاس هم‌اکنون برای شما سخت باشد، اما نگران نباشید، به‌زودی همه چیز را فرا خواهید گرفت.

  • شیء یا Object چیست؟

با توجه به مثال فوق، یک Object چیزی است که دستورالعمل آن را می‌سازد؛ یعنی خود کیک موز! شما همه کدهایتان را در Class می‌نویسید (دستورالعمل) و سپس به سی‌شارپ می‌گویید که یک Object از آن Class بسازد (کیک موز). این دو فرآیند کاملاً با هم متفاوت‌اند.

تا به اینجا، شما با مفهوم کلی و اصطلاحات مربوط به برنامه‌نویسی شیءگرا (Object-Oriented) آشنا شدید. از بخش آینده با هم یک کلاس ساده‌ای را ایجاد خواهیم کرد و عملیاتی در آن تعریف خواهد شد.