شی‌ءگرایی در پایتون چیست؟

آشنایی با برنامه‌نویسی شی‌ءگرا یا OOP در پایتون به زبان ساده و مناسب برای مبتدیان

OOP چیست؟

OOP مخفف عبارت Object-Oriented Programming به معنی «برنامه‌نویسی شی‌ءگرا» است.

شی‌ءگرایی یکی از روش‌های مهم برنامه‌نویسی است که به ما کمک می‌کند برنامه‌های خود را به شکل منظم‌تر و ساختاریافته‌تر طراحی کنیم.

در برنامه‌نویسی شی‌ءگرا، اطلاعات و رفتارهای مربوط به یک موضوع را می‌توانیم در قالب یک کلاس (Class) تعریف کنیم و سپس از روی آن کلاس، شیء (Object) ایجاد کنیم.

نکته: برای یادگیری OOP لازم نیست از همان ابتدا مفاهیم پیچیده را بدانید. بهتر است ابتدا مفهوم کلاس و شیء را به‌خوبی یاد بگیرید و سپس سراغ مباحث پیشرفته‌تر بروید.

چرا از شی‌ءگرایی استفاده می‌کنیم؟

تصور کنید در حال ساخت یک برنامه برای مدیریت اطلاعات دانش‌آموزان هستیم.

اگر برنامه کوچک باشد، می‌توانیم اطلاعات را با متغیرها و توابع مختلف مدیریت کنیم. اما با بزرگ‌تر شدن پروژه، مدیریت این اطلاعات دشوارتر می‌شود.

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

مهم‌ترین مزایای OOP

یک مثال از دنیای واقعی

برای درک بهتر OOP، یک خودرو را تصور کنید.

یک خودرو می‌تواند ویژگی‌هایی مانند رنگ، مدل و سرعت داشته باشد و همچنین رفتارهایی مانند حرکت کردن، ترمز کردن و افزایش سرعت داشته باشد.

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

مثال ساده

در این مثال یک کلاس ساده برای خودرو ایجاد کرده‌ایم:

class Car:
    pass

در این مرحله فقط یک کلاس خالی ساخته‌ایم. در درس‌های بعدی یاد می‌گیریم چگونه ویژگی‌ها و متدهای مختلف را به کلاس اضافه کنیم.

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

کلاس را می‌توانیم مانند یک قالب یا نقشه در نظر بگیریم که مشخص می‌کند اشیایی که از آن ساخته می‌شوند چه ویژگی‌ها و رفتارهایی داشته باشند.

برای مثال می‌توانیم یک کلاس به نام Car داشته باشیم که ساختار یک خودرو را مشخص کند.

شیء (Object) چیست؟

شیء یک نمونه ساخته‌شده از یک کلاس است.

اگر کلاس را یک نقشه برای ساخت خودرو در نظر بگیریم، خودروهای واقعی که بر اساس آن نقشه ساخته می‌شوند، نمونه‌هایی از آن کلاس هستند.

به زبان ساده: کلاس = قالب یا نقشه
شیء = نمونه‌ای که از آن قالب ساخته می‌شود

یک مثال ساده در پایتون

در کد زیر یک کلاس به نام Person ایجاد کرده‌ایم و سپس یک شیء از آن ساخته‌ایم:

class Person:
    pass


person1 = Person()

در این مثال:

آیا OOP فقط مخصوص پایتون است؟

خیر. برنامه‌نویسی شی‌ءگرا یک روش عمومی برنامه‌نویسی است و زبان‌های مختلفی مانند Java، C++، C# و Python از مفاهیم شی‌ءگرایی پشتیبانی می‌کنند.

البته نحوه پیاده‌سازی OOP در هر زبان می‌تواند متفاوت باشد.

در ادامه چه چیزهایی یاد می‌گیریم؟

در درس‌های بعدی OOP در PythonAI، مفاهیم شی‌ءگرایی را مرحله‌به‌مرحله بررسی خواهیم کرد.

تمرین ساده

یک کلاس به نام Student ایجاد کنید و سپس یک شیء از آن بسازید.

فعلاً لازم نیست هیچ ویژگی یا متدی به کلاس اضافه کنید. فقط ساخت کلاس و ایجاد شیء را تمرین کنید.

class Student:
    pass


student1 = Student()

در درس‌های بعدی همین مثال را توسعه می‌دهیم.