Junior
Ի՞նչ կողմեր են օբյեկտային ուղղված ծրագրավորման, որոնք առկա են Dart լեզվում։
sobes.tech AI
Պատասխան AI-ից
Dart-ում առկա են հետևյալ օբյեկտային ծրագրավորման կողմերը՝
- Սինֆ և օբյեկտներ: Սինֆեր սահմանելու հնարավորություն՝ դաշտերով և մեթոդներով, սինֆերի օրինակներ (օբյեկտներ) ստեղծելու համար:
- Կապում: Իրականացման մանրամասները թաքցնել՝ օգտագործելով մուտքի մոդիֆիկատորներ (
_՝ մասնավոր անդամների համար) և getter/setter մեթոդներ: - Երասխ: Ներկայիս սինֆերի գործառույթը ընդլայնել՝ օգտագործելով
extendsբանալի բառը: - Բազմաֆունկցիոնալություն: Հնարավորություն՝ տարբեր սինֆերի օբյեկտները միատարր կերպով մշակելու՝ ընդհանուր ինտերֆեյսի կամ հիմք սինֆի միջոցով:
- Աբստրակցիա: Աբստրակտ սինֆեր և ինտերֆեյսներ ստեղծել՝ պայմանագրեր սահմանելու համար:
Դատարկ սինֆի օրինակ՝:
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(); // Վերագրում՝ կարող է տարբեր լինել տարբեր Animal տեսակների համար
}
// Օգտագործում՝
// makeAnimalSound(Dog('Buddy')); // Տպում է "Հաու!"
Dart-ը նաև աջակցում է mixins-ներին՝ օգտագործելով with բանալի բառը, ինչը թույլ է տալիս կոդը վերօգտագործել առանց ժառանգության։