آموزش سریع ++C – قسمت هشتم – استفاده از کلاس ها

استفاده از کلاس

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

خب برای شروع کار یک کلاس تعریف میکنیم. محل قرار گرفتن دستور کلاس بعد از لینکر ها و قبل از فانکشن main هست. به کادر زیر توجه کنید.

برای تعریف کلاس از دستور زیر استفاده میکنیم (کلاس + اسم کلاس). با توجه به مثال جلسه قبل اسم کلاس رو من در اینجا “bmwmap” گذاشتم. (در درون براکت ها {} میتونیم فانکشن های داخل کلاسمون رو تعریف کنیم).

 

برای استفاده از کلاس در برنامه بعد از وارد کردن دستور کلاس نوبت میرسه به دستور سطح دسترسی ها که در ادامه مطلب با این دستور ها و نحوه کاربردشون بیشتر آشنا میشیم. ( محل وارد کردن این دستورات قبل از فانکشن های داخل کلاس و بین براکت ها میباشد )

سطح درسترسی‌ها باعث ایجاد یکی از ویژگی‌های مهم شی گرایی میشه. به این ویژگی Data Hiding میگن. دقیقا مثل مثالی که تو جلسه ی قبل بهتون گفتم. فرض کنید یه راننده ترمز ماشین رو فشار بده چه اتفاقی میوفته؟ ماشین متوقف میشه !! راننده برای اینکه ماشین متوقف بشه میدونه که باید ترمز بگیره اما آیا اتفاقی که واقعا رخ میده همینه؟ راننده آگاهی نداره که درون موتور ماشین چه اتفاقی می‌افته تا ماشین متوقف بشه و حتی چگونگی اتصال موتور به چرخ‌ها و …. هم نمیدونه. این دقیقا چیزی هست که در Data Hiding رخ میده.

برای پیاده سازی Data Hiding باید انواع سطح دسترسی ها در سی پلاس پلاس رو بلد باشیم. سطح دسترسی ها در c++ به سه قسمت اصلی تقسیم میشه که در باره هرکدوم یه توضیح مختصر در نظر گرفتیم.

  • Public

( اگه بخوایم دستوراتی که داخل کلاسمون مینویسیم، هم داخل کلاس اجرا بشه و هم خارج از کلاس از دستور Public استفاده میکنیم )

  • Private

( گاهی اوقات احتیاج داریم دستوراتی که داخل کلاسمون مینویسیم فقط داخل کلاسمون اعتبار داشته باشن و بیرون از کلاس فاقد اعتبار باشن. در این مواقع از دستور Private استفاده میکنیم )

  • Protected

( Protected هم تقریبا مثل دستور Private عمل میکنه با این تفاوت که کلاس‌هایی که از کلاس ما ارث بری می‌کنند میتونن توابع و متغیر‌های ما رو صدا بزنند. اما کلاس‌های دیگر نمیتونن به متغیر‌ها و توابع Protected دسترسی داشته باشن )

خب بعد از تعریف کلاس و تعیین سطح دسترسی ها نوبت میرسه به تعریف فانکشن های داخل کلاس. (در کادر زیر میتونید محل قرار گرفتن دستورات سطح دسترسی رو ببینید).

موضوع بعدی که در استفاده از کلاس باید راجع بهش بهتون توضیح بدم کلمه ی void هستش. گاهی در برنامه نویسی به توابعی نیاز پیدا می کنیم که نیاز ندارن چیزی رو به عنوان خروجی تابع برگردونن. زبان ++C برای امکان استفاده از چنین توابعی، کلمه void را در اختیار ما قرار داده. اگر بخوایم تابعی بدون خروجی ایجاد کنیم کافیه به جای نوع داده خروجی تابع کلمه void رو قرار بدیم.

بعد از کلمه ی void اسم فانکشنمون رو مینویسیم که ما طبق مثالی که زدیم براتون اسم این فانکشن رو “پدال گاز” میذاریم. و با استفاده از دستور cout از برنامه میخوایم که یک پیغام رو برای کاربر نشون بده و در ادامه به همین شکل فانکشن بعدی که “پدال ترمز” هست رو تعریف میکنیم برای درک بهتر این موضوع به کادر زیر توجه کنید.

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

تا اینجای کار ماشین ما آمادس و حالا میخوایم وارد ماشین بشیم و پدال گاز یا ترمز رو فشار بدیم. برای این کار در ادامه دستوراتی که داخل فانکشن اصلیمون نوشتیم اسم آبجکت رو مینویسیم به علاوه اسم پدالی که میخوایم فشار بدیم. به این صورت : ( با تغییر دادن کلمه ی pedalegaz در ادامه ی اسم آبجکت به pedaletormoz نتیجه تغییر خواهد کرد)

خب حالا میتونید برنامتون رو اجرا کنید و نتیجه رو ببینید.

برنامه ی نهایی جهت تمرین و تکرار :

با این مثالها میخواستیم این رو بگیم که کلاس ها حاوی تکه کدهایی هستن که قراره چندین بار در برنامه مون تکرار بشن. بنابراین بجای اینکه هر بار کدهای تکراری رو بنویسیم میتونیم با استفاده از کلاس اون کد رو در ابتدای برنامه قرار بدید و در طول برنامه تنها با فراخوانی نام کلاس از برنامه بخوایم که از اون کدها در حین اجرا استفاده کنه.

استفاده از کلاس در برنامه های کوچک و تمرینی کاربردی نداره اما در پروژه های بزرگتر بسیار پر کاربرده و لازمه که حتما چندین بار تمرین کنید تا بعدها استفاده صحیح و راحتتری ازش داشته باشید.

 

در جلسه بعد به موضوع زیر میپردازیم :

  • دستورات شرطی

1 نظر در “آموزش سریع ++C – قسمت هشتم – استفاده از کلاس ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کد امنیتی * Time limit is exhausted. Please reload the CAPTCHA.