تا حالا شده بخوای یه سری ویژگی‌های تکراری رو برای چند تا شیء (Object) تنظیم کنی و حس کنی این کار داره زمانت رو تلف می‌کنه؟ 🤔 خب، کانستراکتور (Constructor) توی Kotlin این مشکل رو حل می‌کنه! 😍


۱. تعریف کلاس بدون کانستراکتور 👨‍💻

قبلاً یاد گرفتیم که می‌تونیم یه کلاس بسازیم و داخلش ویژگی‌ها (Properties) تعریف کنیم، بعدش هم مقدارشون رو دستی تنظیم کنیم. مثلا این کلاس Car رو ببین:

class Car {
  var brand = ""   // برند ماشین
  var model = ""   // مدل ماشین
  var year = 0     // سال ساخت ماشین
}

fun main() {
  val c1 = Car()  // ایجاد یک شیء از کلاس Car
  c1.brand = "Ford"
  c1.model = "Mustang"
  c1.year = 1969
}

مشکل چیه؟

  • هر بار که یه ماشین جدید می‌سازیم، باید ویژگی‌هاش رو دستی مقداردهی کنیم 😓
  • اگه چند تا ماشین مختلف داشته باشیم، کد شلوغ میشه 🤯

۲. استفاده از کانستراکتور برای ساده‌تر شدن کد ✨

کانستراکتور چیه؟
یه تابع خاص که وقتی یه شیء (Object) از کلاس ساخته میشه، خودکار مقادیر اولیه رو تنظیم می‌کنه! 🎯

🔹 نحوه تعریف کانستراکتور در Kotlin

برای استفاده از کانستراکتور، کافیه داخل پرانتز بعد از نام کلاس، ویژگی‌ها رو تعریف کنیم:

class Car(var brand: String, var model: String, var year: Int)

fun main() {
  val c1 = Car("Ford", "Mustang", 1969)  // مقداردهی در لحظه ساخت شیء
}

مزیت‌ها:

  • دیگه نیازی به مقداردهی دستی نداریم، همه چی توی یه خط انجام میشه! 🚀
  • کد تمیزتر و خواناتر میشه 🧹

۳. ایجاد چندین شیء با کانستراکتور 📦

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

class Car(var brand: String, var model: String, var year: Int)

fun main() {
  val c1 = Car("Ford", "Mustang", 1969)
  val c2 = Car("BMW", "X5", 1999)
  val c3 = Car("Tesla", "Model S", 2020)
}

فایده:

  • می‌تونیم هر تعداد شیء که بخوایم، خیلی سریع و راحت ایجاد کنیم! 🏎💨

🎯 چالش برای شما!

✍️ تمرین:
یه کلاس Laptop بساز که این ویژگی‌ها رو داشته باشه:

  • برند (brand)
  • مدل (model)
  • حافظه رم (RAM)

بعدش چند تا شیء ازش بساز و تست کن! 😎

📌 سوال: به نظرت کانستراکتور بهتره یا مقداردهی دستی؟ چرا؟ 💡


✅ جمع‌بندی:

  • کانستراکتور یه راه سریع برای مقداردهی اولیه به ویژگی‌های کلاس هست 🎯
  • کد کوتاه‌تر، خواناتر و کمتر تکراری میشه 💡
  • با یه خط کد، می‌تونیم چندین شیء مختلف ایجاد کنیم 🚀