دانستنی های ITفناوری و اطلاعاتکسب و کار

مفهوم شی گرایی در زبان برنامه نویسی سطح بالا

Object-Oriented Programming

برنامه نویسی شی گرا و مفهوم شی گرایی (Object-Oriented Programming  مخفف OOP ) مفهومی است که اولین بار توسط زبان برنامه نویسی سیمولا (SIMULA ) در سال 1960 ارائه گردید و بعدا توسط بسیاری از زبان های سطح بالا به کار گرفته شد.

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

مفهوم شی گرایی در برنامه نویسی با آنچه ما از دنیای اطراف خود می شناسیم همخوانی بسیار زیادی دارد. بعنوان مثال وقتی یک خودرو را بعنوان یک شی می شناسیم خصوصیات مشخص و معینی را در ذهن می آوریم و عملا خودرو را با آن مشخصات می شناسیم. مثلا یک خودرو امکان جابجایی مسافر و با تعداد مشخص را داراست و یا قابلیت کنترل سرعت و … را دارد لذا با این مشخصات تعریف شده که از شی خودرو در ذهن داریم می توانیم وظیفه مشخصی را به آن واگذار کنیم و مثلا جابجایی تعداد چهار مسافر را به آن بسپاریم و انتظار داشته باشیم که در زمان معینی به مقصد برسد. دقیقا همین مفهوم در تعریف شی ها در زبان برنامه نویسی به کار بسته شده است و اشیا تعریف گردیده اند تا وظیفه مشخصی را انجام دهند و با سایر اجزای برنامه در ارتباط باشند.

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

  1. برنامه به زیر برنامه های جداگانه تقسیم بندی می شود و در مواردی که یک عمل مشخص را بخواهد به انجام برساند از هر یک از شی های تعریف شده استفاده خواهد کرد.
  2. از تکرار کد ها در برنامه جلوگیری می شود و به جای آن فراخوانی صورت می پذیرد.
  3. برنامه بسیار خواناتر می شود و تغییرات و توسعه آن به راحتی قابل انجام خواهد بود

در زبان برنامه نویسی شی گرا، اجزا از پایین به بالا ساخته می شوند یعنی ابتدا اشیای جزئی ایجاد می گردند و سپس با برقراری ارتباط مابین این اشیا به هدف نهایی می رسیم.

مفاهیم اصلی شی گرایی

کلاس

کلاس یک مفهوم است که بیانگر مشخصات و چارچوب است. در حقیقت کلاس بیانگر این است که توصیف کلی از یک شی بیان شده است ولی تا وقتیکه یک شی از نوع این کلاس تعریف نگردد قابل استفاده نخواهد بود. بطور مثال کلاس خودرو سواری داریم ولی خورو ال 90 یک شی از کلاس خودرو سواری است. اگر به توضیحات فوق الذکر برگردیم و برای سهولت مثالی دیگر بزنیم می توان گفت شی که از نوع کلاس معینی تعریف می شود قادر به انجام عملیات مشخصی می شود وگرنه مفهوم خودرو قادر به حمل مسافر نیست و حتما باید یک خودرو سواری مشخصی را برای مسافرت به خدمت گرفت.

وراثت

وراثت قابلیت استفاده از خصوصیات و صفات یک کلاس برای ایجاد کلاس جدید می باشد. تمام خصوصیات کلاس به شی مربوطه به ارث می رسد.

کپسوله کردن

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

چند شکلی

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

انتزاع

انتزاع یا Abstraction  در واقع به معنای کلیتی است که بدون در نظر گرفتن جزئیات می باشد.

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

وب سایت چند نقطه سعی می کند مفاهیم فوق الذکر را در مقالات جداگانه و با ذکر مثالهای کاربردی تبیین نماید. در این مقاله سعی بر آن شد که درک درستی نسبت به مفهوم کاربردی شی گرایی به خواننده ارائه گردد.

نمایش بیشتر

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

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

دکمه بازگشت به بالا