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