Sobes.tech
Junior

Dart yoki Flutter'da mixin nima?

sobes.tech AI

AIdan javob

Dartda mixin — bu, an'anaviy ma'noda merosxo'r bo'lib, u bir yoki bir nechta sinfdan funksionallikni boshqa sinfga integratsiya qilish imkonini beradi (Dartda ko'p meros olish qo'llab-quvvatlanmaydi). U with so'zi bilan ishlatiladi.

Asosiy xususiyatlar:

  • Kodning qayta ishlatilishi: Turli sinf hierarhiyalarida kodni umumiy qilish imkonini beradi.
  • Funktsionallikni kengaytirish: Sinf mixin'dan metodlar va xususiyatlarni "qabul qilish" mumkin.
  • extends bo'lmagan mixinlar: Mixin sifatida ishlatiladigan sinf boshqa sinfdan meros olmaydi, ammo parametrli konstruktorlarga ega bo'lishi mumkin emas.
  • with sintaksisi: Sinflarga extends (agar meros bo'lsa) yoki implementsdan so'ng with so'zi bilan qo'llaniladi.

Mixinni ta'rifi uchun misol:

// Mixins parametrli konstruktorlarga ega bo'lmaydi
mixin LoggerMixin {
  void logMessage(String message) {
    print('LOG: $message');
  }
}

Mixinni sinfda ishlatish misoli:

class MyClass with LoggerMixin {
  void doSomething() {
    logMessage('Nima qilish'); // Mixin metodidan foydalanamiz
  }
}

void main() {
  var myObject = MyClass();
  myObject.doSomething();
}

Mixinlar o'ngdan chapga qo'llaniladi: agar bir nechta mixinlar bir xil nomdagi metodlar/propslarni bo'lsa, eng o'ngdagi mixinning amalga oshirilishi tanlanadi.