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-ті қолдайды, бұл кластардың кодын тікелей мұра алмай-ақ қайта пайдалануға мүмкіндік береді.