اگر اندکی با برنامه نویسی آشنا باشید، قطعا با عنوان برنامه نویسی شی گرا برخورد داشته اید. اما شاید ندانید دقیقا مفهوم شی گرایی چیست و یا اصلا چرا برنامه نویسان، طراحان و توسعه دهندگان نرم افزار اینقدر به استفاده از این ساختار در نوشتن برنامه هایشان اصرار دارند.
قبل از ورود به بحث اصلی بهتر است روند تغییرات زبان های برنامه نویسی در سال های دور را اندکی بدانیم. اصلا مگر روش های قبلی چه ایراداتی داشت که منجر به پیدایش بحث شی گرایی یا Object Oriented شد. همچنین چه ویژگی مثبتی در شی گرایی وجود دارد که در روش های پیش از آن وجود نداشت. در این بخش به بیان این موارد و سیر تکمیلی زبان های برنامه نویسی به صورت مختصر می پردازیم.
تاریخچه ای از زبان های برنامه نویسی
قبل از دهه ی 1960 میلادی توسعه و نوشتن برنامه های نرم افزاری با مشکلات جدی رو به رو شدند، نبود ساختار یکسان و استاندارد های مشخص، مشکلات زیادی را برای فهم و درک برنامه، عیب یابی، گسترش و اعمال تغییرات به وجود آورده بود. ﻟﺬا ﻓﺮاﯾﻨﺪ ﺗﻮﻟﯿﺪ ﻧﺮم اﻓﺰارﻫﺎ ﺑﺴﯿﺎر زﻣﺎن ﺑﺮ و ﭘﺮﻫﺰﯾﻨﻪ ﺷﺪه ﺑﻮد. ﻧﺮم اﻓﺰارﻫﺎی ﺗﻮﻟﯿﺪی ﻧﯿﺰ از ﻗﺎﺑﻠﯿﺖ اﻋﺘﻤﺎد بالایی برخوردار نبودند. ﲢﻘﯿﻘﺎﺗﯽ ﮐﻪ ﺑﺮای ﺑﺮﻃﺮف ﮐﺮدن اﯾﻦ ﻣﺸﮑﻼت ﺑﻪ ﻋﻤﻞ آﻣﺪ ﻣﻨﺠﺮ ﺑﻪ ﺳﺒﮏ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ساخت یافته شد. سپس برای تمکیل کردن و برطرف نمودن کاستی های برنامه نویسی ساخت یافته، برنامه نویسی شی گرا، که منجر به تحولات عمیقی در زمینه ی مهندسی نرم افزار شد، به وجود آمد.
زبان برنامه نویسی ساخت یافته
ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺳﺎﺧﺖ ﯾﺎﻓﺘﻪ روش ﻣﻨﻈﻤﯽ ﺑﺮای ﻧﻮشتن ﺑﺮﻧﺎﻣﻪ ﻫﺎ اﺳﺖ و ﻣﻨﺠﺮ ﺑﻪ ایجاد ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ می شود که خوانایی آن نسبتا بالا است. همچنین نسبت به گذشته تست و اشکال زدایی آن راحت تر و سریع تر انجام می شد. در ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺳﺎﺧﺖ ﯾﺎﻓﺘﻪ ﻣﯽ ﺗﻮان ﻫﺮ ﺑﺮﻧﺎﻣﻪ ای را ﺑﺪون دﺳﺘﻮر ﭘﺮش و ﻓﻘﻂ ﺑﺎ اﺳﺘﻔﺎده از ﺳﻪ ساختار کنترلی ترتیب، انتخاب و تکرار نوشت.
ساختار کلی برنامه در این سبک برنامه نویسی به شکل زیر است
- ﺗﻘﺴﯿﻢ ﻣﺴﺎﻟﻪ ﺑﻪ ﻣﺴﺎﻟﻪ ﻫﺎﯾﯽ ﮐﻮﭼﮑﺘﺮ
- آﻣﺎده ﺳﺎزی روﯾﻪ ﻫﺎی ﻣﻨﺎﺳﺐ ﺑﺮای ﺣﻞ اﯾﻦ زﯾﺮ ﻣﺴﺎﻟﻪ ﻫﺎ ﻧﻮشتن دﺳﺘﻮرات ﮐﺎﻣﭙﯿﻮﺗﺮی ( کد ) ﻣﻨﺎﺳﺐ ﺑﺮای اﯾﻦ روﯾﻪ ﻫﺎ
برنامه نویسی شی گرا
برنامهنویسی شیگرا (Object-Oriented Programming) یا به اختصار OOP یک الگو یا شیوه تفکر در برنامهنویسی است که برگرفته از دنیای واقعی می باشد. علاوه بر ویژگی ساخت یافته بودن، از خصوصیات قدرتمند دیگری نیز برخوردار است. اگر زبانی با استفاده از روش شی گرایی نوشته شود به آن زبان برنامه نویسی شی گرا می گویند. مانند C++، جاوا، پایتون و …
شی گرایی نیز در پاسخ به نقصان های موجود در زبان برنامه نویسی ساخت یافته به وجود آمد. مشکلاتی از قبیل توانایی حل تمامی مسائل پیچیده (Complex)، پنهانسازی داده، قابلیت استفاده مجدد، وابستگی کمتر به توابع، انعطاف بالا و… که در شیوه ی ساخت یافته فاقد راه حل مناسب بودند، در شی گرایی به نحو خوبی حمایت می شدند.
تا این قسمت با سیر تکاملی زبان های برنامه نویسی آشنا شدیم. در بخش بعدی منحصرا به زبان برنامه نویسی شی گرا و ویژگی های آن می پردازیم.