OOP چیست؟
OOP مخفف عبارت Object-Oriented Programming به معنی «برنامهنویسی شیءگرا» است.
شیءگرایی یکی از روشهای مهم برنامهنویسی است که به ما کمک میکند برنامههای خود را به شکل منظمتر و ساختاریافتهتر طراحی کنیم.
در برنامهنویسی شیءگرا، اطلاعات و رفتارهای مربوط به یک موضوع را میتوانیم در قالب یک کلاس (Class) تعریف کنیم و سپس از روی آن کلاس، شیء (Object) ایجاد کنیم.
نکته: برای یادگیری OOP لازم نیست از همان ابتدا مفاهیم پیچیده را بدانید. بهتر است ابتدا مفهوم کلاس و شیء را بهخوبی یاد بگیرید و سپس سراغ مباحث پیشرفتهتر بروید.
چرا از شیءگرایی استفاده میکنیم؟
تصور کنید در حال ساخت یک برنامه برای مدیریت اطلاعات دانشآموزان هستیم.
اگر برنامه کوچک باشد، میتوانیم اطلاعات را با متغیرها و توابع مختلف مدیریت کنیم. اما با بزرگتر شدن پروژه، مدیریت این اطلاعات دشوارتر میشود.
شیءگرایی کمک میکند اطلاعات مرتبط و رفتارهای مربوط به آنها را در یک ساختار مشخص قرار دهیم.
مهمترین مزایای OOP
- سازماندهی بهتر کد
- مدیریت راحتتر پروژههای بزرگ
- استفاده مجدد از کد
- کاهش تکرار کد
- سادهتر شدن توسعه و نگهداری پروژه
یک مثال از دنیای واقعی
برای درک بهتر OOP، یک خودرو را تصور کنید.
یک خودرو میتواند ویژگیهایی مانند رنگ، مدل و سرعت داشته باشد و همچنین رفتارهایی مانند حرکت کردن، ترمز کردن و افزایش سرعت داشته باشد.
در برنامهنویسی شیءگرا میتوانیم این اطلاعات و رفتارها را در یک کلاس قرار دهیم.
مثال ساده
در این مثال یک کلاس ساده برای خودرو ایجاد کردهایم:
class Car:
pass
در این مرحله فقط یک کلاس خالی ساختهایم. در درسهای بعدی یاد میگیریم چگونه ویژگیها و متدهای مختلف را به کلاس اضافه کنیم.
کلاس (Class) چیست؟
کلاس را میتوانیم مانند یک قالب یا نقشه در نظر بگیریم که مشخص میکند اشیایی که از آن ساخته میشوند چه ویژگیها و رفتارهایی داشته باشند.
برای مثال میتوانیم یک کلاس به نام
Car داشته باشیم که ساختار یک خودرو را مشخص کند.
شیء (Object) چیست؟
شیء یک نمونه ساختهشده از یک کلاس است.
اگر کلاس را یک نقشه برای ساخت خودرو در نظر بگیریم، خودروهای واقعی که بر اساس آن نقشه ساخته میشوند، نمونههایی از آن کلاس هستند.
به زبان ساده:
کلاس = قالب یا نقشه
شیء = نمونهای که از آن قالب ساخته میشود
یک مثال ساده در پایتون
در کد زیر یک کلاس به نام
Person
ایجاد کردهایم و سپس یک شیء از آن ساختهایم:
class Person:
pass
person1 = Person()
در این مثال:
-
Personنام کلاس است. -
person1یک شیء از کلاسPersonاست. -
علامت
()برای ایجاد نمونهای از کلاس استفاده شده است.
آیا OOP فقط مخصوص پایتون است؟
خیر. برنامهنویسی شیءگرا یک روش عمومی برنامهنویسی است و زبانهای مختلفی مانند Java، C++، C# و Python از مفاهیم شیءگرایی پشتیبانی میکنند.
البته نحوه پیادهسازی OOP در هر زبان میتواند متفاوت باشد.
در ادامه چه چیزهایی یاد میگیریم؟
در درسهای بعدی OOP در PythonAI، مفاهیم شیءگرایی را مرحلهبهمرحله بررسی خواهیم کرد.
- ساخت کلاس
- ایجاد Object
- ویژگیهای کلاس
- متدها
-
سازنده
__init__() - وراثت
- کپسولهسازی
- چندریختی
تمرین ساده
یک کلاس به نام
Student
ایجاد کنید و سپس یک شیء از آن بسازید.
فعلاً لازم نیست هیچ ویژگی یا متدی به کلاس اضافه کنید. فقط ساخت کلاس و ایجاد شیء را تمرین کنید.
class Student:
pass
student1 = Student()
در درسهای بعدی همین مثال را توسعه میدهیم.