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

مقدمه

با عرض سلام خدمت کاربران سایت پی وی لرن . در این مطلب قصد داریم به بررسی و  تحلیل پیرامون بحث برنامه نویسی شی گرا (OOP) ، بپردازیم. OOP مخفف عبارت Object-oriented programming (برنامه نویسی شی گرا ) است. در واقع یک سبک برنامه نویسی مبتنی بر مفهوم “اشیاء” است. که ممکن است حاوی داده ها باشد، و به شکل فیلدها که به عنوان صفات که دارای ویژگی ها است، شناخته می شود؛ و شامل کدهاست که اغلب به عنوان یک روش شناخته می شود.

یکی از ویژگی های اشیاء این است که توابع شیء می توانند به صفات و ویژگی های جسم که با آنها مرتبط می شوند دسترسی پیدا کند. و اغلب آنها را اصلاح کند (اشیاء دارای مفهوم “این” یا “خود” هستند). در OOP، برنامه های کامپیوتری از اشیائی که با یکدیگر ارتباط برقرار می کنند طراحی شده اند.

تنوع قابل ملاحظه ای از زبان های OOP وجود دارد، اما محبوب ترین آنها بر پایه کلاس است، به این معنی که اشیاء نمونه هایی از کلاس ها هستند، که معمولا نوع آنها را تعیین می کند.

OOP - برنامه نویسی شی گرا

OOP – برنامه نویسی شی گرا

ویژگی ها

برنامه نویسی شی گرا از اشیاء استفاده می کند، اما نه از همه تکنیک ها و ساختارهای مرتبط با زبان هایی که از OOP پشتیبانی می کنند. ویژگی های ذکر شده در زیر، در میان زبان ها به شدت طبقه بندی و شی گرا (و یا چند پارادایم با پشتیبانی OOP) مشترک است:

اشیا  و کلاس ها

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

  • کلاس ها – تعاریفی برای قالب داده ها و روش هایی در دسترس برای کلاس خاصی از داده؛  کلاس ها شامل اعضای داده ها و توابع عضو است.
  • اشیاء – نمونه ای از کلاس هاست.

اشیاء گاهی اوقات با چیزهایی که در دنیای واقعی یافت می شوند، مطابقت دارند. به عنوان مثال، یک برنامه گرافیکی ممکن است اشیایی مانند “دایره”، “مربع”، “منو” داشته باشد. سیستم خرید آنلاین ممکن است اشیایی مانند “سبد خرید”، “مشتری” و “محصول” داشته باشد.

هر شیء گفته می شود نمونه ای از یک کلاس خاص است (مثلا یک شی با فیلد نام آن که “Mary” ممکن است نمونه ای از کلاس Employee باشد). روش ها در برنامه نویسی شی گرا به عنوان روش شناخته می شوند؛ متغیرها نیز به عنوان فیلدها، اعضا، ویژگی ها یا خواص شناخته می شوند.

 

پویایی

اشاره و به انعطاف پذیری اشیا و توسعه پذیری این روش دارد.

کپسوله سازی

کپسول سازی داده ها به مفهوم مهم OOP  در واقع  پنهان کردن داده ها را شامل می شود. برای مثال برخی از زبانها (به عنوان مثال زبان جاوا) در کلاسها در واقع محدودیتهای دسترسی اعمال می کنند، به عنوان مثال، نشان دادن داده های داخلی با کلیدواژه خصوصی (Private) و تعیین روشهایی که برای کدگذاری در خارج از کلاس با کلید واژه عمومی (Public) در نظر گرفته شده است. همچنین داده ها ممکن است ترکیبی از خصوصی ، متوسط و عمومی باشد. نظیر کلاس محافظت (protected) شده ، که اجازه دسترسی به همان کلاس یا کلاس های زیر مجموعه ی همان کلاس را می دهد.

بازگشایی مجدد (Open recursion)

این ویژگی ، معمولا با استفاده از یک متغیر خاص یا یک کلمه کلیدی ، اجازه می دهد که یک روش تعریف شده در یک کلاس برای فراخوانی یک روش دیگر که بعدا تعریف شده است، در برخی از کلاس های زیر مجموعه انجام شود.

تاریخچه

اصطلاح شناختی “اشیاء” و “گرا” در معنای مدرن برنامه نویسی شیء گرا اولین بار در MIT در اواخر دهه ۱۹۵۰ و اوایل دهه ۱۹۶۰ ظاهر شد. در محیط گروه هوش مصنوعی، در اوایل سال ۱۹۶۰، مفهوم “شی” می تواند به اقلام مشخص شده (اتم LISP) با خواص (attributes) اشاره کند. مطرح شد.

Sutherland مفهوم “شی” و “نمونه” (با مفهوم کلاس تحت عنوان “استاد” یا “تعریف”) را تعریف می کند، هرچند این تعاریف او متمرکز بر تعامل گرافیکی است.

برنامه نویسی شی گرا  اولین بار در سال ۱۹۶۰ با زبان سیمولا اجرا شد. که مفاهیم مهمی را که امروزه بخشی اساسی از برنامه نویسی شی گرا هستند را معرفی کرد. و مفاهیمی مانند کلاس و شی، ارث و اتصال پویا ارائه شد، سیمولا همچنین برای برنامه نویسی و امنیت داده طراحی شده است.

در دهه ۱۹۷۰ اولین نسخه زبان برنامه نویسی Smalltalk در آلبوم Xerox PARC توسط آلن کای، دن انگلز و آدل گلدبرگ که از برنامه نویسی شی گرا پشتیبانی می کرد . ساخته شد. Smaltalk-71 شامل یک محیط برنامه نویسی بود و به صورت پویا تایپ می شد و در ابتدا تفسیر می شد. Smalltalk برای استفاده ، از جهت گیری شیء در سطح زبان و محیط توسعه گرافیکی آن اشاره کرد. Smalltalk از طریق نسخه های مختلفتوسعه یافت و علاقه به این زبان افزایش یافت. در حالی که Smalltalk تحت تاثیر ایده های معرفی شده در Simula 67 بود، آن را به عنوان یک سیستم کاملا پویا طراحی شده بود که در آن کلاس ها می توانند ایجاد و تغییر پویا شوند.

در سال ۱۹۸۱، گلدبرگ برنامه های Smalltalk و برنامه های شیء گرا را به مخاطبان گسترده تری معرفی کرد. در سال ۱۹۸۶ انجمن ماشین آلات رایانه ، اولین کنفرانس برنامه نویسی مبتنی بر Object Oriented  (شی گرایی)، سیستم ها، زبان ها و برنامه های کاربردی (OOPSLA) را سازماندهی کرد. که به طور غیر منتظره با حضور  ۱۰۰۰ نفر استقبال شد.

 

به اشتراک بگذارید