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

شی گرایی در برنامه نویسی

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

منظور از شی گرایی در برنامه نویسی چیه؟

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

 

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

جامعه انسان ها رو در نظر بگیرید، هر کدوم از ما یه انسان هستیم یعنی “مدل” همه ی ما یکیه. همه دست داریم پا داریم چشم داریم گوش داریم و … ولی باهم فرق داریم مثلا یکی دماغش کوچیکتره یکی بزرگتر یکی مثلا چشمش قهوه ایه یکی مشکی یا از نظر رفتار و گفتار و اخلاق همه باهم فرق داریم. به هرکدوم از انسان ها یک شی گفته میشه

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

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

کلاس، شی، تابع :

امیدوارم تا این قسمت از آموزش شی گرایی در برنامه نویسی براتون قابل درک بوده باشه در ادامه یه مثال کلی و ساده راجع به کلاس، شی، و تابع براتون میزنم که قشنگ متوجه ی این سه موضوع مهم بشید.

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

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

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

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

 

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

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

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

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