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:
extendskalit 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.