Sobes.tech
Junior

რა ასპექტებია ობიექტზე ორიენტირებული პროგრამირების, რომლებიც წარმოდგენილია Dart ენაში?

sobes.tech AI

პასუხი AI-სგან

Dart-да объектіге бағытталған бағдарламалаудың келесі аспектілері бар:

  • Кластар мен объектілер: Кластарды өрістер мен әдістермен анықтау мүмкіндігі, кластардың мысалдарын (объектілерін) жасау.
  • Инкапсуляция: Іске асыру бөлшектерін жасыру, қол жеткізу модификаторларын (_ жеке мүшелер үшін) және getter/setter әдістерін пайдалану.
  • Мұра: Барлық кластардың функционалдығын кеңейту, extends кілт сөзін пайдалану.
  • Полиморфизм: Әртүрлі кластардың объектілерін бірдей өңдеу мүмкіндігі, жалпы интерфейс немесе негізгі класс арқылы.
  • Абстракция: Шарттарды анықтау үшін абстрактты кластар мен интерфейстер құру.

Dart-да класс мысалы:

class Animal {
  String _name; // Жеке өріс

  Animal(this._name); // Конструктор

  String get name => _name; // Getter

  void makeSound() {
    print('Жалпы жануардың дыбысы'); // Әдіс
  }
}

Мұра мысалы:

class Dog extends Animal {
  Dog(String name) : super(name); // Негізгі кластың конструкторын шақыру

  @override // Негізгі кластың әдісін қайта анықтау
  void makeSound() {
    print('Гау!');
  }
}

Полиморфизм мысалы:

void makeAnimalSound(Animal animal) {
  animal.makeSound(); // makeSound() әдісін шақыру, ол әртүрлі Animal түрлері үшін әртүрлі болуы мүмкін
}

// Қолдану:
// makeAnimalSound(Dog('Buddy')); // "Гау!" шығарады

Dart сонымен қатар with кілт сөзімен mixins-ті қолдайды, бұл кластардың кодын тікелей мұра алмай-ақ қайта пайдалануға мүмкіндік береді.