برنامه نویسی شی گرا (Object Oriented Programing) چیست؟

آنچه در ادامه میخوانید:

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

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

مفاهیم پایه ای در شی گرایی

شی (Object) : ﺷﯽ ﻳﮏ ﻣﻮﺟﻮدﯾﺖ ﻓﯿﺰﯾﮑﯽ ﯾﺎ ﻣﻔﻬﻮم ﮐﻠﯽ اﺳﺖ ﺑﮕﻮﻧﻪ ای ﮐﻪ دارای ﻫﻮﻳﺖ ﺑﻮده و ﻗﺎدر ﺑﻪ ﺑﺮوز رﻓﺘﺎر و ﺛﺒﺖ ﺣﺎﻻت ﺧﻮد ﻣﯽ ﺑﺎﺷﺪ. صفت (property):  ﻫﺮ ﺷﯽ ﯾﮑﺴﺮی ﺧﺼﻮﺻﯿﺎت دارد ﮐﻪ ﺑﻪ آﻧﻬﺎ  ﺻﻔﺖ ﮔﻔﺘﻪ ﻣﯽ ﺷﻮد. ﮐﻪ در واﻗﻊ ﯾﮏ مقدار و ارزش مشخصی برای آن به ازای هر شی می تواند وجود داشته باشد. مانند طول، ارتفاع، رنگ و …

روش (Method) : هر شی در واقع یک سری رفتار دارد که به آن ها روش یا متد، گفته می شود. ﻣﺘﺪ در واﻗﻊ   ﭘﺎﺳﺦ ﻫﺎﯾﯽ اﺳﺖ ﮐﻪ آن ﺷﯽ در ﻣﻘﺎﺑل تحریکات ﻣﺤﯿﻂ از ﺧﻮد ﻧﺸﺎن می دهد. 

کلاس (Class) : به مجموعه ای از اشیا که دارای ویژگی و رفتار مشترک باشند، کلاس می گویند. یک class نمونه ی اولیه ای است که هر object از روی آن ساخته می شود.کلاس دانشجو، کلاس انسان، کلاس ماشین و … کلاس ها مانند نقشه های ساختمان هستند.

ﯾﻚ ﻛﻼس، ﻧﻘﺸﻪ اﯾﺠﺎد ﯾﻚ ﺷﯽ از ﻛﻼس است. همانطور که می توانیم خانه های زیادی از روی یک نقشه بسازیم، می توانیم تعدادی شی از روی یک کلاس، نمونه سازی کنیم.

مدل شی گرا

ﯾﮏ ﻣﺪل ﺷﯽ ﮔﺮا ﻣﺠﻤﻮﻋﻪ ای اﺳﺖ از اﺷﯿﺎء و ﮐﻼس ﻫﺎ ﮐﻪ در ﺟﻬﺖ ﭘﯿﺎده ﺳﺎزی رﻓﺘﺎر ﮐﻞ ﺳﯿﺴﺘﻢ ﺑﻪ ﯾﮑﺪﯾﮕﺮ ﭘﯿﻐﺎم ﻣﯽ ﻓﺮﺳﺘﻨﺪ و اﻋﻤﺎﻟﯽ را انجام ﻣﯽ دﻫﻨﺪ .ﯾﮏ ﺷﯽ، ﺳﺎﺧﺘﻤﺎن داده و رفتار مربوطه اش را یک جا و به طور مجتمع در خود نگاه می دارد.

ویژگی های زبان های برنامه نویسی شی گرا

  • تجرید ( انتزاع، مجرذ سازی) : یعنی نادیده گرفتن جنبه هایی از مسئله که فعلا مورد نیاز ما نیستند. همچنین ما می توانیم یک دید کلی از مسئله داشته باشیم. بدون آنکه نیاز به ورود در جزئیات داشته باشیم. مانند نقشه ی شهر و کشور
  • محصور سازی: جزئیات یک فرایند یا عمل از دید از مخفی باشد. صفات و اطلاعات یک شی از دیدی سایر اشیا مخفی باشد و ارتباط از طریق تبادل پیام صورت بگیرد. ﮐﺎرﺑﺮان ﻓﻘﻂ ﺑﻪ واﺳﻂ اﺳﺘﻔﺎده واﺑﺴﺘﻪ ﻫﺴﺘﻨﺪ و ﻧﻪ ﺑﻪ ﺟﺰﺋﻴﺎت ﭘﻴﺎده‌ﺳﺎزي
  • وراثت : وراثت برای بیان شباهت ها است. برای اجتناب از تکرار خصوصیات مشترک یک کلاس انسان می سازیم. سپس صفات مشترک را در همه ی نمونه اشیای ساخته شده از کلاس انسان به ارث می برند.
  • قابلت استفاده مجدد : اﺳﺘﻔﺎده ﻣﺠﺪد ﻗﺎﺑﻠﯿﺘﯽ اﺳﺖ ﮐﻪ ﺑﯿﺎن ﮔﺮ اﺳﺘﻔﺎده دوﺑﺎره از ﭼﯿﺰی اﺳﺖ ﮐﻪ ﻫﻢ اﮐﻨﻮن وجود دارد. ﻗﺎﺑﻠﯿﺖ اﺳﺘﻔﺎده ﻣﺠﺪد ﺧﺎﺻﯿﺘﯽ اﺳﺖ ﮐﻪ ﻫﺮ روز از آن اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﯿﻢ و در برنامه نویسی قابلیت فوق العاده ای را به وجود آورده است.

مزایای برنامه‌نویسی شئ‌گرا چیست؟

  •  افزایش امنیت برنامه
  • کاهش هزینه نگهداری
  • قابلیت استفاده مجدد
  • تحلیل ساده‌تر برنامه
  • قابلیت سازمان دهی بهینه تر کدها
  • عدم نیاز به نوشتن کدهای تکراری و قابلیت‌هایی که قبلا پیاده‌سازی شده‌اند و صرف جویی در استفاده از منابع
  • قابلیت تقسیم برنامه به برنامه‌های کوچک تر اما مستقل

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

امتیاز این مقاله

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

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

مقالات مرتبط