Sobes.tech
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 բանալի բառը, ինչը թույլ է տալիս կոդը վերօգտագործել առանց ժառանգության։