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

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

فهرست مطالب

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

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

برنامه نویسی شیء گرا (Object Oriented Programming) و یا به اختصار oop یک شیوه و روش برنامه‌ نویسی است. در این روش برنامه‌ نویسی به جای استفاده از توابع و منطق برنامه نویسی، از داده ها و اشیا استفاده می‌شود.در دنیای برنامه نویسی شی گرا همه چیز به عنوان یک شی در نظر گرفته می‌شود و بر اساس ویژگی‌ها و رفتار می‌توان آن‌ها را تعریف کرد.

اولین قدم در استفاده از برنامه نویسی شیء گرا گردآوری اشیا مورد نظر و برقراری ارتباط میان آن‌ها است. نمونه‌هایی از یک شی می‌توانند شامل موجودیت‌های فیزیکی مثل انسان و یا خودرو با ویژگی هایی اعم از نام، وزن و … و یا برنامه‌های رایانه ای باشند.

مثالی از برنامه نویسی شیء گرا

به عنوان یک مثال ساده از برنامه نویسی شیء گرا می توان یک خودرو را در نظر گرفت. خودرو یک شی است و رنگ، وزن، سرعت و… از جمله مواردی هستند که می‌توان به عنوان ویژگی‌های یک خودرو در نظر گرفت. همچنین یک خودرو مجموعه رفتارهایی مانند حرکت کردن‌، توقف کردن‌، دور زدن‌ و بوق زدن‌ و… را از خود نشان می‌دهد. به هر موجودیت که دارای خصوصیات، وضعیت و یا رفتار خاصی باشد یک شی یا object گفته‌ می‌شود. در این مثال خودرو به عنوان شی (object) در نظر گرفته‌ می‌شود. به اطلاعات و ویژگی‌های موجود برای یک شی خصوصیات یا attribute می‌گویند. ویژگی های خودرو مثل وزن، رنگ و … خصوصیات شی (attribute) نامیده می‌شوند.

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

اصول برنامه نویسی شیء گرا

برنامه نویسی شیء گرا علاوه بر دو مفهوم اساسی شی و کلاس، چهار اصل ارث بری (Inheritance)، انتزاع (Abstraction)، پلی مورفیسم (Polymorphism) و کپسوله سازی (Encapsulation) را شامل می‌شود. در ادامه به معرفی و بررسی اصول شیء گرایی نام برده شده‌ می‌پردازیم.

اصول شی گرایی

  • ارث بری (Inheritance)

یکی از اصول مهم در برنامه نویسی شیء گرا ارث بری یا همان وراثت است. با استفاده از ارث بری می‌توان ویژگی‌های موجود در یک کلاس را در یک کلاس جدید و در کنار ویژگی‌های خودش به کار برد. در این روش یک کلاس با عنوان کلاس والد (Parent) در نظر گرفته‌‌ می‌‌شود؛ کلاس والد دارای ویژگی‌هایی مرتبط با کلاس‌های دیگر است. علاوه بر آن کلاسی تحت عنوان کلاس فرزند (Child) وجود دارد که ویژگی‌های خودش را دارد. زمانی کلاس فرزند از کلاس والد ارث می‌برد که کلاس فرزند بتواند از ویژگی‌های تعریف شده‌ در کلاس والد در کنار ویژگی‌های خودش استفاده کند. به این روش ارث بری یا وراثت گفته‌ می‌شود. در واقع در ارث بری یک شی خصوصیت‌های شی دیگر را کسب و به ارث می‌برد.

وراثت در برنامه نویسی شیء گرا دارای انواع مختلفی است. ارث بری منفرد (Single Level)، چند سطحی (Multilevel)، چندتایی (Multiple)، چند مسیره (Multipath)، یکی از مهم‌ترین مزایای وراثت در برنامه نویسی شیء گرا امکان استفاده مجدد از کدها می‌باشد. همچنین Redundancy را کاهش و باعث افزایش سطح ایمنی برنامه می‌شود. از دیگر مزایای ارث بری می‌توان به قابلیت توسعه پذیری و بهبود خوانایی کدها اشاره کرد.

  • انتزاع (Abstraction)

در یک تعریف ساده انتزاع یا Abstraction در فرایندی است که در طی آن بخش غیرضروری اطلاعات پنهان و تنها اطلاعات مورد نیاز نمایش داده‌ می‌شود. انتزاع در قسمت‌های مختلفی از برنامه‌ها مورد استفاده قرار می‌گیرد و پیاده سازی های داخلی و مجموعه ای از داده‌ها مخفی سازی می‌شوند.

در این روش همه کاربران اجازه دسترسی به داده‌ها را نخواهند داشت و این موضوع امنیت برنامه را به شکل قابل توجهی افزایش می‌دهد. بهبود سهولت در برنامه نویسی، بهبود قابلیت نگهداری و تقویت آسان برنامه از دیگر مزیت های استفاده از انتزاع در برنامه نویسی شیء گرا می‌باشند.

  • پلی مورفیسم (Polymorphism)

پلی مورفیسم یا چند ریختی یکی از مهم‌ترین اصول در برنامه نویسی شیء گرا محسوب می ‌شود و زمانی اتفاق می‌افتد که چند کلاس به وسیله ارث بری با یکدیگر مرتبط هستند. به زبان ساده به وجود شکل‌های بسیار در برنامه پلی مورفیسم گفته‌ می‌شود؛ در واقع پلی مورفیسم پردازشی است که یک عمل واحد را به شیوه‌های مختلفی انجام می‌دهد.

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

استفاده از پلی مورفیسم در برنامه نویسی شیء گرا انعطاف پذیری برنامه را بالا برده‌ و این این امکان را به توابع می‌دهد تا با کلاسی که در آن قرار دارند سازگار شوند. همچنین پلی مورفیسم در نوع متفاوت پلی مورفیسم ایستا و پلی مورفیسم پویا قابل استفاده است.

  • کپسوله سازی (Encapsulation)

آخرین اصل در شیء گرایی کپسوله سازی یا Encapsulation است. کپسوله‌ سازی به معنای قرار دادن‌ ویژگی‌ها و اعضای داده‌ها در یک واحد است. بر اساس این اصل داده‌های موجود در کلاس‌های یک برنامه شیء گرا، در یک واحد ادغام می شوند. مفهوم کپسوله سازی تحت عنوان روش پنهان سازی نیز شناخته می‌شود؛ به این ترتیب که قابلیت دسترسی و تغییر داده‌ها فقط برای کلاس خودشان بوده و کاربران خارج از کلاس امکان دسترسی به آن‌ها را ندارند.کپسوله سازی داده‌ها و عملیات انجام شده‌ بر روی آن‌ها را در یک واحد و در کنار هم گروه‌ بندی می‌کند. این روش یک لایه امنیتی دیگر به داده‌ها اضافه کرده و سطح امنیت برنامه‌‌ها را به میزان قابل توجهی بالا می‌برد.

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

جمع بندی

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

امید است این مقاله به سوالات شما درباره برنامه‌ نویسی شیء گرا و مفاهیم شیء گرایی پاسخ لازم را داده‌ باشد. سوالات خود در این زمینه را می‌توانید در بخش نظرات مطرح کنید. تیم پویان آی تی در اسرع وقت پاسخگوی سوالات شما خواهند بود. همچنین برای خواندن‌ مقالات بیشتر و مرتبط در این حوزه می‌توانید به وبلاگ پویان آی تی مراجعه کنید.

به این مقاله امتیاز دهید!

میانگین امتیاز 0 / 5. تعداد رأی ها : 0

هنوز هیچ رأیی داده نشده. اولین نفر باشید!

اشتراک گذاری اشتراک گذاری در تلگرام اشتراک گذاری در لینکدین اشتراک گذاری در ایکس کپی کردن لینک پست

و در ادامه بخوانید

اولین دیدگاه را اضافه کنید.

برچسب ها

برنامه نویسی OOP