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

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

برنامه نویسی شیء گرا - Object Oriented Programming

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

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

برنامه نویسی شیء گرا اغلب با عنوان OPP شناخته می شود. این اختصاره در واقع مخفف عبارت Object Oriented Programming می باشد. در واقع یک شیوه ی برنامه نویسی است که ساختار یا بلاک اصلی اجزای آن شیء ها هستند.

Object Oriented Programming
Object Oriented Programming

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

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

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

برنامه نویسی شیء گرا - سطح زبان ها
برنامه نویسی شیء گرا – سطح زبان ها

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

Object یا شیء یکی از اجزای برنامه نویسی شیء گرا محسوب می شود. شیء گرایی به زبان ساده یعنی در هنگام برنامه نویسی یک مدل را تعریف کنیم که شامل خصوصیات مشخصی باشد. سپس می توانیم از روی این مدل هر تعداد شیء جداگانه که خواستیم را بسازیم.

این اشیاء خاصیت یکسانی دارند اما باهم تفاوت دارند.

برای درک بهتر این موضوع به مثال زیر توجه بفرمایید :

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

پس می توانیم بگوییم که هر کدام از انسان ها یک شیء هستند. در برنامه نویسی شیء گرا هم دقیقا به همین شکل عمل می شود. به این شکل که در ابتدای کار یک مدل می سازیم که به این مدل در زبان برنامه نویسی کلاس (Class) گفته می شود. این مدل ویژگی های کلی را مشخص می کند. سپس می توانیم از روی این مدل شیء های متعددی بسازیم. اشیایی که از روی آن ها ساخته می شوند دارای ویژگی های کلی همان کلاس می باشند اما ویژگی های خاص آن ها و خصوصیاتشان می تواند باهم متفاوت باشد.

برنامه نویسی شیء گرا - مثال مدل Class
برنامه نویسی شیء گرا – مثال مدل Class

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

برای مثال ما یک کلاس (Class) تعریف می کنیم که ویژگی های کلی دکمه ها را مشخص می کند. می توانیم هر تعداد دکمه که می خواهیم در activity آن قرار دهیم. هرکدام از این دکمه ها یک شیء هستند و هرکدام نیز می توانند کار مخصوص به خودشان را انجام دهند. برای مثال می توانند متن متفاوتی داشته باشند یا ظاهرشان با سایر دکمه ها موجود متفاوت باشد. اشیاء در برنامه نویسی شیء گرا هم دقیقا به همین شکل می باشند.

ممکن است صدها شیء از روی یک Class ساخته بشوند اما هرکدام از آن ها دارای هویت و رفتار منحصر به فرد خودشان هستند.

مثالی برای درک بهتر Class

می خواهم برای درک بهتر این موضوع یک مثال دیگر را برای مفهوم شیء گرایی به زبان ساده تر بیان کنم :

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

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

در زبان های برنامه نویسی با این خصوصیت نیز یک کلاس (Class) دقیقا چنین نقشی را ایفا می کند.

برنامه نویسی شیء گرا - مدل Class
برنامه نویسی شیء گرا – مدل Class

به عبارت دیگر مانند عکس بالا در یک برنامه نوشته شده کلاس (Class) به منزله ی یک نقشه ی خانه است که چندین خانه یا به قولی هر طبقه از آپارتمان از روی آن ساخته شده است. این در حالی است که هر کدام از طبقات علی رقم داشتن یک پلان ثابت و مشترک دارای ویزگی های منحصر به فرد خودش می باشد که اصطلاحا به هرکدام از آن طبقات یک شیء (Object) گفته می شود.

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

این الگو براساس مفهوم اشیاء طراحی شده است. این اشیاء دارای اطلاعاتی می باشند که در قالب فیلد ها (Fields) ذخیره می شوند. به این اطلاعات ذخیره شده صفات آن شیء (Object) گفته می شود. کدهای ان شیء در قالب پروسیجر (Procedure) ذخیره می شوند و به ان ها متد می گویند.

این متد ها می توانند به صفات شیء دسترسی داشته و ان ها را تغییر دهند. در برنامه نویسی شیء گرا این اشیاء باهم ارتباط برقرار می کنند و برنامه را تشکیل می دهند.


مفهوم کلاس (Class) در شیء گرایی چیست ؟

به زبان ساده می شود کلاس (Class) را به عنوان قالبی برای اشیاء در نظر گرفت. مثلا خودروی BMW یک نمونه شیء از کلاس (Class) خودرو می باشد. کلاس ها معمولا دربردارنده خصوصیات و رفتار اشیاء می باشند. مثلا کلاس (Class) خودرو در بردارنده ویژگی های یک خودرو مانند سرعت، وزن، رنگ، و موارد دیگر است و هر مدل خودرو را که از این مدل کلاس (Class) در نظر بگیریم تمام ویژگی های گفته شده در کلاس (Class) را درون خود خواهد داشت.

 


چه زبان های برنامه نویسی از شیء گرایی پشتیبانی میکنند ؟

بسیاری از زبان های برنامه نویسی موجود از شیء گرایی پشتیبانی می کنند که می توان به مهمترین آن ها یعنی جاوا (Java)، کاتلین (Kotlin)، سی شارپ (#C)، پایتون (Python)، پی اچ پی (PHP) و … اشاره کرد.

انواع زبان های برنامه نویسی شیء گرا – Object Oriented Programming Language
انواع زبان های برنامه نویسی شیء گرا – Object Oriented Programming Language

 


 

ممنونم از اینکه مارو دنبال کردید و این مقاله رو تا پایان مطالعه کردید.

اگر نظر یا پیشنهادی در خصوص این مقاله دارید ، ممنون میشم در بخش کامنت ها مطرح نمایید.

در پناه حق پیروز و سعادتمند باشید در دنیا و آخرت.

رضا ریوندی

سلام ، رضا ریوندی هستم دارای مدرک کاردان فنی مکانیک و کارشناسی مدیریت بازرگانی .

دیدگاهها

نظر: