Sobes.tech
Junior

Dart tilida ob'ektga yo'naltirilgan dasturlashning qaysi jihatlari mavjud?

sobes.tech AI

AIdan javob

Dartda quyidagi OOP jihatlari mavjud:

  • Sinf va obyektlar: Sinflarni maydonlar va metodlar bilan belgilash, sinf nusxalarini (obyektlarni) yaratish imkoniyati.
  • Inkapsulyatsiya: Kiritish modifikatorlari (_ maxfiy aʼzolar uchun) va getter/setter metodlari yordamida amalga oshirish tafsilotlarini yashirish.
  • Merosi: extends kalit soʼzi yordamida mavjud sinflarning funksionalligini kengaytirish.
  • Polimorfizm: Umumiy interfeys yoki asosiy sinf orqali turli sinflardan obyektlarni bir xil tarzda ishlash.
  • Abstraktsiya: Shartnomalarni belgilash uchun abstrakt sinflar va interfeyslar yaratish.

Dartda sinf misoli:

class Animal {
  String _name; // Maxfiy maydon

  Animal(this._name); // Konstruktor

  String get name => _name; // Getter

  void makeSound() {
    print('Baʼzi umumiy hayvon tovushi'); // Metod
  }
}

Merosi misoli:

class Dog extends Animal {
  Dog(String name) : super(name); // Asosiy sinf konstruktorini chaqirish

  @override // Asosiy sinf metodini qayta yozish
  void makeSound() {
    print('Vov!');
  }
}

Polimorfizm misoli:

void makeAnimalSound(Animal animal) {
  animal.makeSound(); // makeSound() metodini chaqirish, bu turli Animal turlari uchun turlicha boʼlishi mumkin
}

// Foydalanish:
// makeAnimalSound(Dog('Buddy')); // "Vov!" chiqaradi

Dart shuningdek, with kalit soʼzi yordamida mixinlarni qoʻllab-quvvatlaydi, bu toʻgʻridan-toʻgʻri meros olmadan sinflar kodini qayta ishlatishga imkon beradi.