برنامه نویسی شیءگرا (OOP) | مقدمه ای بر روش برنامه نویسی شیءگرا

برنامه نویسی شیءگرا (OOP) یک شیوه برنامه نویسی است که ساختار یا بلوک اصلی اجزای آن شیءها می باشد[1]. در این آموزش روش برنامه نویسی شیءگرا را بررسی می نماییم.

آیا می‌دانید:

آموزش VBA به شما کمک می‌کند تا کنترل بیشتری بر بسته آفیس داشته باشید. با استفاده از این زبان برنامه‌نویسی، می‌توانید ماکروها و برنامه‌های پیشرفته‌ای بسازید که فرآیندهای طولانی و پیچیده را ساده کنند.

برنامه نویسی رویه ای (Procedural) و شیءگرا (OOP)

OOP مخفف Object-Oriented Programming و به معنای برنامه نویسی شیءگرا می باشد. برنامه نویسی رویه ای یا روال وار بر پایه نوشتن روال ها یا توابعی که عملیاتی بر روی داده ها انجام می دهند استوار است، در حالی که پایه برنامه نویسی شیءگرا (OOP)‌ بر ساختن اشیائی حاوی هم توابع (رفتارها)‌ و هم داده ها استوار است. [1]

اصل خودت را تکرار نکن (Dry) [2] درباره کاهش تکرار کد می باشد. شما باید کدهایی که در پروژه مشترک هستند و امکان استفاده مجدد دارند را استخراج و در یک مکان واحد (ماژول یا کلاس) قرار دهید و بجای تکرار کد از آن استفاده مجدد نمایید.

کلاس و شیء

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

طراحی شیء گرا [3] (OOD یا Object-Oriented Design) در مهندسی نرم افزار مشابه توصیفی که برای اشیاء واقعی بکار می رود مدلسازی می کند. این تکنیک از روابط اشیاء یک کلاس بهره می برد و اشیائی که از یک کلاس خاص نظیر خودرو باشند خصوصیات یکسانی دارند.

کلاس و شیء دو جنبه اصلی برنامه نویسی شیء گرا (OOP) می باشند. برای درک بهتر تفاوت بین کلاس و شیء جداول زیر را نگاه کنید:

کلاس

شیء

خودرو

پژو

پراید

ال 90

کلاس

شیء

میوه

موز

هندوانه

طالبی

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

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

خواص (Properties)

همه اشیاء خواصی دارند. اشیائی که خواص مشترکی دارند در یک کلاس قرار می گیرند.

وراثت (Inheritance)

یک کلاس می تواند خواص و عملکردهای کلاس دیگر را ارث ببرد و در عین حال خواص و عملکردهای خاص خود را داشته باشد. بعنوان مثال یک شیء از کلاس «اتومبیل کروکی» یقیناً خصوصیات کلاس عام تر «اتومبیل» را دارد، اما بطور خاص سقف آن می تواند عقب و جلو برود.

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

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

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

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