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 колдоого алынган, бул класстардын кодун кайра колдонууга мүмкүндүк берет, түз мурассыз.