فرهنگستان زبان و ادب
{OO programming} [رایانه و فنّاوری اطلاعات] شیوۀ برنامه نویسی به روش شیءگرا
{OO programming} [رایانه و فنّاوری اطلاعات] شیوۀ برنامه نویسی به روش شیءگرا
برنامه نویسی شیءگرا ( به انگلیسی: Object - Oriented Programming ) ( به اختصار: OOP ) یک شیوهٔ برنامه نویسی است که ساختار یا بلوک اصلی اجزای آن اشیاء می باشند. در این شیوه برنامه نویسی، برنامه به شیء گرایش پیدا می کند، به این معنا که داده ها و توابعی که بر روی این داده ها عمل می کنند، تا حد امکان در قالبی به نام شیء و در کنار یکدیگر قرار گرفته، جمع بندی شده و یک واحد ( یا یک شیء ) را تشکیل می دهند و نسبت به محیط بیرونِ خود، کپسوله می شوند. از این طریق، توابع خارج از آن شیء، امکان ایجاد تغییر در داده های درون شیء را نخواهند داشت.
فلسفه ای که منجر به شکل گیری زبان های شیءگرا شد، عبارت بود از این واقعیت که نحوه عملکرد مغز و شیوهٔ دریافت اطلاعات از محیط پیرامون و پردازش آن اطلاعات ( اندیشیدن )، شیوه ای شی ءگراست. از همین روی می بایستی زبانی تعریف می شد که همین شیوه را مبنای کار خود قرار داده و بازتولید می کرد و دقیقاً به همان شکل که اشیاء در جهان خارج، دارای هویت و کارکرد مشخص و یگانه ای برای خود هستند و در عین حال با دیگر اشیاء در ارتباطی تنگاتنگ و مستقیم اند، در زبان های برنامه نویسی نیز می بایستی این اصول کلی برقرار می شد تا به این شکل، برنامه نویس بتواند با بهره گیری از زبانی که به روش اندیشیدنش نزدیکی بیشتری دارد؛ شی ءهای مختلفی را تعریف نموده، این شی ءها را در ارتباط با یکدیگر قرار داده و از شی ءهای پویای تولید شده برای حل مسئلۀ پیش روی استفاده نماید. امروزه اکثر زبان های دستوری برنامه نویسی از فنون شی ءگرایی پشتیبانی می کنند.
زبان هایی مانند جاوا، سی پلاس پلاس ( ++c )، سی شارپ، دلفی و پایتون از جمله زبان های شی ءگرا هستند. حتی بسیاری از زبان های روال گونه که ساختار برنامه ها در آن ها بلوک هایی با نام پروسیجر است، امروزه از فنون شی گرایی نیز پشتیبانی می کنند. زبان های سی++ و پی اچ پی از این جمله هستند. هر شیء یک سری خصوصیت و قابلیت دارد که اصطلاحاً Properties و Operation خوانده می شوند. در این پارادایم برنامه نویسی، دید برنامه نویس به سیستم، دید شخصی است که سعی می نماید با پیدا کردن اشیاء مختلف در سیستم و برقراری ارتباط بین آن ها، سیستم را تولید نماید.
لازم است ذکر شود که تکنیک برنامه نویسی شی گرا به مراتب کارا و پیچیده تر از سبک برنامه نویسی مبتنی بر تابع است. دلایل برتری برنامه نویسی شی گرا:
برنامه نویسی شیء گرا (object-oriented programming)
نوعی برنامه نویسی سطح بالا که در آن از شیء برای نوشتن و سازماندهی برنامه استفاده می شود. شیء یک مجموعه دستورالعمل مستقل است که داده ها و عملکردهایش را درون خود دارد و با سایر اشیا در ارتباط است. از اشیا برای تعریف انواع داده ای، ساختمان داده ها، و روال هایی که عملیات مختلف را روی داده ها انجام می دهند استفاده می شود. برنامه نویسان با استفاده از اشیا به عنوان بلوک های از قبل آماده شده که مستقلاً کار مخصوص به خود را انجام می دهند، می توانند راحت تر به هدف کلی برنامه برسند و کل برنامه را با یک دید بالا به پایین بنویسند. یکی از قویترین ویژگی های OOP، ویژگی ارث بری است که با استفاده از آن می توان یک شیء جدید را بر اساس ویژگی ها و عملکردهای یک شیء موجود ساخت. با استفاده از OOP می توان از یک برنامه یا بخشی از آن برای ساختن برنامه های ترکیبی دیگر بدون محدودیت استفاده کرد. این قابلیت ها باعث می شود که برنامه های OOP کوچکتر از سایر روش های برنامه نویسی باشند، زحمت کدنویسی آنها کمتر باشد، و خطاها یا باگ های کمتری هم در برنامه وجود داشته باشد. زبان سیمولا که در ۱۹۶۲ تا ۱۹۶۷ در مرکز محاسبات رایانه ای نروژ طراحی شد، نخستین زبانی بود که برنامه نویسی شئ گرا را معرفی کرد. این زبان برنامه نویسی از ویژگی های اساسی شئ گرایی، ازجمله اشیا و ارث بری، بهره می برد. زبان C++ که در اوایل دهه ۱۹۸۰ در آزمایشگاه های بل ابداع شد، محبوب ترین زبان برنامه نویسی شئ گراست.
جملات نمونه از منابع مختلف جمع آوری شده است، اگر صحیح نیست یا توهین آمیز است، لطفا گزارش دهید.
💡 قبل از اینترنت ارزان، جوامعی از لحاظ جغرافیایی جمع و جور وجود داشت که فرهنگ برنامه نویسی وینبرگ را تشویق می کرد، و یک توسعه دهنده می توانست بسیاری از کیبیتزرها و توسعه دهندگان ماهر را به راحتی جذب کند. آزمایشگاه های بل، آزمایشگاه های MIT AI و LCS، UC Berkeley: این ها خانه نوآوری هایی شدند که افسانه ای هستند و هنوز هم قدرتمند هستند.
💡 در یک رویکرد فرصت طلبانه نسبت به برنامه نویسی که بر روی سرعت و آسانی توسعه به جای انسجام و نگهداشت پذیری کد متمرکز است، استفاده از اینترنت حیاتی است. استفاده ی وسیع و مشابهی از وب توسط برنامه نویسان، متخصصان و تازه کاران وجود دارد که از آن برای نمونه سازی، ایده پردازی و کشف و یافتن استفاده می کنند.
💡 زمان های اجرای زبان برنامه نویسی واکنشی با گرافی نشان داده می شوند که وابستگی ها را در میان مقادیر واکنشی درگیر مشخص می کند. در چنین نموداری، گره ها نشان دهنده عمل محاسبه هستند و لبه ها روابط وابستگی مدل لبه ها را مدل میکنند. همچین زمان اجرایی از نمودار ذکر شده استفاده می کند تا به آن کمک کند وقتی مقدار ورودی مربوطه تغییر میکند و محاسبات باید دوباره اجرا شوند، کنترل کند.
💡 داس-۸۶ تعدادی از دستورات خود را با سیستم عامل های دیگر مانند اواس\۸ و سیپی\ام به اشتراک گذاشت که باعث شد انتقال برنامه ها از سیستم عامل دوم آسان شود. رابط برنامه نویسی برنامه آن بسیار شبیه به سیپی\ام بود. این سیستم دارای مجوز و سپس توسط مایکروسافت خریداری شد و با عنوان اماس-داس و پیسی داس توسعه بیشتری یافت.
💡 برای انجام وظیفههای پردازش داده و کنترل ادمینستریشن رایانه، این محیطهای برنامه نویسی سطح بعدی سیستم عامل یا کنترل پردازش دادهها را پس از اسکریپت نشان میدهد. اگر قرار است برنامه ای فقط توسط برنامه نویس اصلی و/یا چند همکارش اجرا شود، ممکن است نیازی به یک رابط کاربری گرافیکی زیبا نباشد، که باعث میشود نگه داری برنامه با فضای کمتر، سریعتر و راحت تر میسر شود.
💡 برنامه نویسی مدرن، چگونگی ایجاد اشکالاتی (نه باگها) را که ممکن است پیش بیایند، پیشبینی کردهاست که شامل حالتهایی مانند دریافت اطلاعات نادرست، نامناسب یا غلط میشود؛ همچنین کمبود منابعی مانند حافظه، سرویسهای سیستم عامل یا اتصال به شبکه و سایر اشکالات مانند خطای کاربر یا اشکالات قطع برق نیز در این دسته قرار میگیرند.