OOP مخفف Object-Oriented Programming یا برنامه‌نویسی شی‌ءگرا است. این روش یک سبک برنامه‌نویسی است که داده‌ها و رفتارها (متدها) را در قالب اشیا (Objects) سازماندهی می‌کند.

مقایسه با برنامه‌نویسی رویه‌ای (Procedural Programming)

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

چرا OOP مهم است؟ ✅

سرعت و کارایی بالا 🏎️
ساختار منظم‌تر برای برنامه‌ها 📌
کاهش تکرار کد (DRY – Don’t Repeat Yourself) 🔄
کدنویسی ساده‌تر و قابلیت نگهداری بهتر 🛠️
ایجاد اپلیکیشن‌های قابل استفاده مجدد با کد کمتر و زمان توسعه کوتاه‌تر

نکته: اصل DRY (Don’t Repeat Yourself) یعنی کدهای تکراری را حذف کن!
اگر در چند جای برنامه از یک کد یکسان استفاده می‌کنی، آن را در یک متد یا کلاس جداگانه بنویس و از آن استفاده مجدد کن.


کلاس‌ها و اشیا در Kotlin 🎭

در OOP، دو مفهوم کلیدی داریم:
1️⃣ کلاس (Class): یک قالب یا الگو برای ایجاد اشیا.
2️⃣ شیء (Object): یک نمونه (Instance) از کلاس که ویژگی‌ها و متدهای کلاس را به ارث می‌برد.

📌 مثال ساده برای درک تفاوت کلاس و شیء:

کلاس (Class)اشیا (Objects)
Fruit (میوه)🍏 Apple (سیب) 🍌 Banana (موز) 🥭 Mango (انبه)
Car (ماشین)🚗 Volvo 🚙 Audi 🚕 Toyota

🛠 توضیح ساده:

  • کلاس میوه (Fruit) فقط یک قالب است و مشخص می‌کند که هر میوه‌ای چه ویژگی‌هایی دارد.
  • اما سیب، موز و انبه نمونه‌هایی (Objects) از کلاس میوه هستند که می‌توانند مقادیر مختلف داشته باشند.

چطور از کلاس استفاده کنیم؟ وقتی یک شیء از یک کلاس ایجاد می‌شود، تمام ویژگی‌ها و متدهای آن کلاس را به ارث می‌برد.
در بخش‌های بعدی، یاد می‌گیریم که چطور در Kotlin کلاس و شیء بسازیم. 🔥

🚀 سوال برای تمرین:

  • اگر بخواهی یک کلاس برای “حیوانات” بنویسی، چه ویژگی‌هایی باید داشته باشد؟ 🐶🐱
  • چند نمونه (Object) از این کلاس می‌توانی بسازی؟