🔹کپسوله‌سازی (Encapsulation) در شی‌گرایی با فلاتر

⚡️کپسوله‌سازی چیه؟

کپسوله‌سازی یعنی پنهان کردن جزئیات داخلی کلاس (مثل داده‌ها) از بیرون و فقط اجازه دسترسی کنترل‌شده به اونا. مثل اینه که داده‌های مهم رو تو یه جعبه بذاری و فقط با کلیدهای خاص بتونی بازشون کنی. این کار امنیت و مدیریت کد رو بهتر می‌کنه و از تغییرات ناخواسته جلوگیری می‌کنه.

⚡️چطور تو دارت/فلاتر کار می‌کنه؟

  • مدیریت دسترسی: تو دارت، ویژگی‌ها و متدها به‌صورت پیش‌فرض عمومی (public) هستن.

  • خصوصی (Private): با گذاشتن علامت _ (آندرلاین) قبل اسم، ویژگی یا متد رو خصوصی می‌کنی. یعنی فقط داخل همون کلاس یا فایل قابل دسترسیه.

  • گتر و ستر (Getters & Setters): برای دسترسی کنترل‌شده به ویژگی‌های خصوصی، از متدهای getter (برای خواندن) و setter (برای نوشتن) استفاده می‌کنی.

  • نکته: تو دارت، خصوصی بودن بر اساس فایل هست (library-level)، نه کلاس.

🚀مثال ساده:

class BankAccount {
  double _balance; // خصوصی
  BankAccount(this._balance);
  double get balance => _balance; // getter
  set deposit(double amount) {
    if (amount > 0) _balance += amount;
  }
}

void main() {
  var account = BankAccount(1000);
  account.deposit = 500;
  print(account.balance); // 1500
}

⚡️کاربرد تو فلاتر:

  • تو فلاتر، برای مدیریت حالت‌ها (state) و داده‌های ویجت‌ها استفاده می‌شه. مثلاً ویژگی‌های داخلی یه ویجت رو خصوصی کن تا بیرون نتونه مستقیم تغییرشون بده.

  • مثال: تو کلاس‌های مدل داده (مثل کاربر یا محصول)، داده‌های حساس رو خصوصی کن و با getter/setter دسترسی بده تا اپت امن‌تر بشه.

🎯 نکات کلیدی:

  • جلوگیری از دسترسی مستقیم به داده‌ها (data hiding).

  • getter/setter برای دسترسی کنترل‌شده.

  • کد رو ماژولار و آسان‌تر برای نگهداری می‌کنه.

  • تو فلاتر، کلاس‌های ویجت مثل StatefulWidget از این مفهوم برای مدیریت state استفاده می‌کنن.

باکیفیت ترین دوره آموزش برنامه نویسی چیست ؟

⭐⭐⭐⭐⭐ دوره ی آموزش دوازده قدم برنامه نویسی مهندس سام نیک زاد با کسب امتیاز بالاترین کیفیت دوره ی آموزشی بعنوان با کیفیت دوره انتخاب شده است برای مشاهده کلیک کنید

ثبت نام دوره با تخفیف از ویرگول