کلاس و شیء در شی‌گرایی با فلاتر

اگر تازه با فلاتر و برنامه‌نویسی شی‌گرا (OOP) آشنا شدی، احتمالا شنیدی که کلاس و شیء پایه‌های اصلی این نوع برنامه‌نویسی هستن. تو این پست کوتاه، قراره خیلی ساده بفهمیم این دوتا چی هستن و چرا توی فلاتر مهم‌ هستن.

کلاس چیه؟

کلاس مثل یه نقشه یا الگوئه. فرض کن می‌خوای یه ماشین بسازی؛ نقشش می‌شه کلاس! تو کلاس مشخص می‌کنی که یه چیز چه ویژگی‌هایی (مثل رنگ، مدل) و چه رفتارهایی (مثل حرکت کردن) داره.

class Person {
  String name; // ویژگی
  int age;

  Person(this.name, this.age); // سازنده

  void sayHello() { // رفتار
    print('سلام، من $name هستم و $age سالمه!');
  }
}

شیء چیه؟

شیء همون چیزیه که از روی نقشه (کلاس) ساخته می‌شه. مثلا اگه کلاس Person یه نقشه باشه، یه نفر به اسم علی با سن 25 سال یه شیء از اون کلاسه.

var person = Person('علی', 25); // ساخت شیء
person.sayHello(); // خروجی: سلام، من علی هستم و 25 سالمه!

چرا تو فلاتر مهمه؟

توی فلاتر، تقریبا همه‌چیز یه کلاسه! ویجت‌ها (مثل دکمه، متن، یا صفحه‌) همشون کلاس هستن. مثلا وقتی یه دکمه می‌سازی، داری یه شیء از کلاس ElevatedButton درست می‌کنی. حتی ویجت‌های سفارشی خودت هم با تعریف کلاس ساخته می‌شن:

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text('سلام دنیا!');
  }
}

نکات کلیدی:

  • کلاس: تعریف ویژگی‌ها و رفتارها.

  • شیء: نمونه واقعی از کلاس که می‌تونی باهاش کار کنی.

  • کاربرد: از ویجت‌ها گرفته تا مدیریت داده‌ها توی فلاتر، همه‌جا از کلاس و شیء استفاده می‌شه.

این مفاهیم پایه‌های شی‌گرایی‌ان. اگه خوب اینا رو یاد بگیری، قدم بزرگی تو ساخت اپ‌های فلاتر برمی‌داری! 🚀