برنامه نویسی شی گرا چیست؟
زمان مطالعه 2 دقیقه
۷ آبان ۱۴۰۰
نویسنده پایدار سامانه
تعداد کامنت 2

مفاهیم برنامه نویسی شی گرا یا OOP چیست؟

برنامه نویسی شی گرا یا Object Oriented Programming یا بصورت محفف OOP همه یک نام برای یک سبک یا روش برنامه نویسی است که این روزها به طور گسترده در برنامه های کاربردی نرم افزار و همچنین طراحی وب سایت استفاده می شود.

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

روش برنامه نویسی شی گرا بستگی به تقسیم برنامه به واحدهای این اجزای کوچک تر دارد که هر کدام را شی یا آبجکت (Object) می نامند و هر شی دارای مجموعه ای از ویژگی ها و متغیرها است که آن را از سایر اشیا متمایز می کند.

شی یا Object چیست؟

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

مفهوم آبجکت در شی گرایی چیست؟
مفهوم آبجکت در شی گرایی چیست؟

کلاس یا Class چیست؟

برای درک اینکه کلاس در برنامه نویسی شی گرا چیست، برگردیم به مثال ماشین. کارخانه خودروسازی که این خودروها را با این ویژگی ها و متغیرها می سازد، باید نمونه اولیه ای برای این خودروها داشته باشد و این مدل Class نامیده می شود که ویژگی های مشترک بین اشیاء یا آبجکت ها است. کلاس خودروها این است که دارای موتور، 4 چرخ، و سایر موارد است و هر کدام ممکن است متفاوت باشند اما ماهیت یکسانی دارند، یعنی همه موتور دارند، رو به جلو جرکت می کنند. یک شیء از نظر ویژگی های دیگر مانند سرعت، رنگ و غیره با دیگری متفاوت است.

تفاوت بین آبجکت و کلاس در OOP
تفاوت بین آبجکت و کلاس در OOP

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

برنامه نویسی شی گرا مفاهیم و ارکانی دارد که دارای چندین مزیت است که به ستون و پایه های زیربنایی برنامه نویسی شی گرایی معروف هستند:

انتزاع یا Abstraction

توصیف نرم افزاری ای یک کلاس خاص را تعریف می کند که همین مفهوم انتزاع دو نوع دارد:
Abstraction Data که مسئول شناسایی ویژگی های یک شیء خاص است
Methods Abstraction که تعریف عملیات و رویه ها است.

کپسوله سازی یا Encapsulation

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

وراثت یا Inheritance

یک آبجکت می تواند خواص هر آبجکت و شی دیگر را به ارث ببرد بدون اینکه ویژگیهای کلاس ارث بری شده را تحت تاثیر خودش قرار دهد، و بدون اینکه بر خود شیء خودرو تأثیر بگذارد.

پلی مورفیسم یا Inheritance

چند ریختی یا پلی مورفیسم بدان معنی استفاده از یک متد (Method) یا یک تابع (Function) در بیش از یک حالت و یا شیوه ای مختلف استفاده شود. مثلا در خودرو عمل روشن شدن را در نظر بگیرید، روشن شدن عملیاتی دارد که باید انجام شود و می تواند برای هر خودرویی استفاده شود اما روشن شدن در خودرو بنزینی و یا برقی به دو روش کاملا متفاوت انجام خواهد شد اما هر دوی آنها کارشان روشن کردن است.

اشتراک گذاری در شبکه های اجتماعی

2 نظر برای «مفاهیم برنامه نویسی شی گرا یا OOP چیست؟»

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

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