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

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

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

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

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

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

شی یا Object چیست؟

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

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

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

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

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

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

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

انتزاع یا Abstraction

توصیف نرم افزاری ای یک کلاس خاص را تعریف می کند که همین مفهوم انتزاع دو نوع دارد:

Abstraction Data که مسئول شناسایی ویژگی های یک شیء خاص است

Methods Abstraction که تعریف عملیات و رویه ها است.

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

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

وراثت یا Inheritance

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

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

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

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

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

نظرات کاربران

Saeid

هرچی مقاله داشتید در مورد برنامه نویسی رو خوندم غیر از object oriented دیگه چه رثش هایی هست که شی گرا نباشه من هنوز نمیدونم باید چیکار کنم

۱۴۰۰/۱۰/۲۴

بی نام

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

۱۴۰۰/۹/۱۳

yaser.n

با تشکر از مطالب خوب و مفیدتون

۱۴۰۰/۸/۱۴

دیدگاه شما

ثبت