آموزش برنامه نویسی شی گرا (OOP) در PHP – مفاهیم و توضیحات کلی

5 2,747

به نام خدا و سلام و عرض ادب خدمت شما خوانندگان گرامی؛

به لطف خدا مجموعه ی آشنایی با برنامه نویسی شی گرا در PHP را شروع کرده ایم تا به نوبه ی خود به آگاهی برنامه نویسان ایرانی نسبت به این موضوع کمکی کرده باشیم. متاسفانه کلمات “شی گرا” در اکثر برنامه نویسان ایرانی که با این مسئله آشنا نیستند، باعث دلهره و ترس می شوند در صورتی که یکی از بهترین و لذت بخش ترین انواع برنامه نویسی همین برنامه نویسی شی گرا می باشد.

در این مجموعه سعی داریم در قسمت های کوتاه و به زبان ساده به این مسئله ی مهم بپردازیم. برویم سراغ اصل مطلب!

چرا برنامه نویسی شی گرا در PHP همیشه حرف اول را می زند؟

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

از طرفی مجموعه روکسو دو راه برای آشنایی شما با مفاهیم اولیه و مقدماتی زبان PHP‌ دارد:

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

راه دوم: بهره مندی از دوره ویدیویی آموزش زبان برنامه نویسی PHP است که به صورت آنلاین و فصل به فصل در قالب یک پروژه ارائه شده است.

یک سوال: چرا به سراغ برنامه نویسی شی گرا (Object-oriented programming) برویم؟ مگر برنامه نویسی رویه ای (Procedural programming) مشکلی دارد؟
پاسخ: برنامه نویسی رویه ای به خودی خود مشکلی ندارد اما در مقایسه با برنامه نویسی شی گرا مشکل دارد! بسیاری از چیز ها در زندگی نسبی است؛ به طور مثال خندیدن نه تنها مشکلی ندارد بلکه پسندیده است اما همین خندیدن در مراسم خاکسپاریِ یک فرد، بسیار زشت و بی ادبانه است! به همین ترتیب برنامه نویسی رویه ای مشکلی ندارد اما فواید برنامه نویسی شی گرا آنقدر زیاد است که در مقایسه با آن توجیه نمی شود. به عبارت دیگر وقتی فواید برنامه نویسی شی گرا را بدانیم و باز هم بر همان حالت قدیمی و رویه ای باقی بمانیم، تقصیر از ماست.

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

سوال: این فواید و نکات مثبت برنامه نویسی شی گرا چیست؟

پاسخ: به طور خلاصه چند مورد عرض را می کنم:

  • استفاده ی چند باره از کد ها (Code Recycling): معنی Code Recycling (به فارسی: بازیافت کد) این است که اگر یک کلاس تعیین کنید، مثلا برای مبحث تایید فرم ها – Form Validation، دیگر نیازی نیست هر دفعه برای تایید فرم ها کد بنویسید و خودتان را خسته کنید.
  • کپسوله سازی (Encapsulation): با استفاده از این ویژگی می توانید بدون نیاز به دانستن ساختار پیاده سازی شده ی کد ها از یک کلاس خاص استفاده کنید، در حالی که در کتابخانه ها باید از نحوه ی پیاده سازی اولیه آگاه باشید. با این مفهوم در قسمت های بعد آشنا می شویم.
  • مدیریت پروژه ها: برنامه های بزرگ را عملا نمی توان با برنامه نویسی رویه ای نوشت. اگر بخواهید پروژه های بسیار بزرگ را با برنامه نویسی رویه ای بنویسید، در آخر کار با چند هزار خط کد روبرو می شوید که مانند کلافی در هم پیچیده و خدا نکند که بخواهید قسمتی را ویرایش/به روز کنید! با برنامه نویسی شی گرا حتی مدیریت پروژه های کوچک نیز بسیار آسان تر می شود.
  • امنیت بیشتر
  • و …

معمولا زمانی که صحبت از برنامه نویسی شی گرا می شود، از مثال معروف ماشین استفاده می کنند، اما ما برای شروع چنین قصدی نداریم چرا که ذهن ما را بدون دلیل از مبحث دور می کند. ما مستقیم به سراغ مفاهیم میرویم و سپس مثال ماشین را توضیح می دهیم!

تعریف Class (کلاس) در برنامه نویسی شی گرا در PHP

بخش اساسی و پایه ی تمام کد های شی گرا بخشی به نام کلاس (Class) می باشد. “کلاس” در واقع مجموعه ای از متغیر ها و توابع مربوط به هم اند که بین یک جفت آکولاد قرار گرفته اند و دارای یک نام واحد می باشند. به عبارت دقیق تر کلاس ها نقشه ی کلی هستند و اشیاء (Objects) نمونه ی ساخته شده از آنها؛ مانند دستور پخت یک کیک و خودِ کیک!

پس دیدیم که کلاس مسئله ی فنی و پیچیده ی خاصی ندارد بلکه همان توابع و متغیر های همیشگی خودمان است منتهی در کنار هم و با اسمی جدید، همین!

قبل از ادامه ی بحث ذکر یک نکته بسیار مهم است؛ تفاوت میان علائم نگارشی مانند آکولاد و قلاب و …

علائم نگارشی در برنامه نویسی شی گرا در PHP

از آنجایی که برنامه نویسی یک شغل بین المللی است، بهتر است شما علائم را با اسم های انگلیسی‌شان حفظ کنید.

اما ادامه ی بحث:

تعریف Property و Method در برنامه نویسی شی گرا در PHP

Property در زبان های برنامه نویسی شی گرا (به اختصار OOP – Object Oriented Programming) به متغیر هایی که متعلق به یک کلاس خاص هستند Properties (به فارسی: خصوصیات) می گویند.
Method در زبان های برنامه نویسی شی گرا (به اختصار OOP – Object Oriented Programming) به توابع Method (به فارسی همان متد) گفته می شود.

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

این طرح و نقشه ی کلی همان کلاس است. می توانیم اسم این کلاس را کلاسِ Vehicle (به معنای اتومبیل) بگذاریم.

حالا هر کدام از این ماشین ها، مثلا یک پراید، می شود یک شیء (Object) از این کلاس؛ پراید یک شیء از کلاسِ اتوموبیل است چرا که نمونه ی ساخته شده از طرح کلیِ (Class) اتوموبیل است. از نظر خصوصیت ها (Properties) و متد ها می توان گفت ترمز کردن یک متد و رنگ ماشین یک خصوصیت است. به تصویر زیر نگاه کنید:

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

تا این قسمت با مفاهیم اصلی برنامه نویسی شی گرا یا OOP آشنا شدیم. در قسمت های بعد سراغ مفاهیم بیشتر و بعضاً کد نویسی نیز خواهیم رفت. همراه ما باشید.

ترتیبی که روکسو برای یادگیری مطالب سری شی گرایی در PHP به شما توصیه می‌کند:
5 نظر
  1. ممد نوبریان
    0

    عالیه کارتون اینده خوبی داره سایتتون به امید روزای بهتر

  2. جواد
    1+

    بسیار عالی، همه سرحال و موفق باشی

    1. امیر زوارمی
      0

      ممنونم دوست عزیز، همچنین

  3. میلاد
    2+

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

    1. امیر زوارمی
      1+

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

ارسال نظر

توجه:‌ آدرس ایمیل شما منتشر نخواهد شد.