Sobes.tech
Junior — Middle

რატომ შეიტანეს Dart 2.12 ვერსიაში key- სიტყვა abstract?

sobes.tech AI

პასუხი AI-სგან

Dart 2.12-ში abstract საკვანძო სიტყვა შემოვიდა, რათა მკაფიოდ აღნიშნოს აბსტრაქტული კლასები. ადრე, აბსტრაქტული კლასები განისაზღვრებოდა ირიბად, მაგალითად, თუ კლასი შეიცავდა აბსტრაქტულ მეთოდებს (შეუკლავი რეალიზაცია). abstract-ის შეტანით შესაძლებელია:

  • კლასი მკაფიოდ აღინიშნოს როგორც აბსტრაქტული, რაც კოდის წაკითხვას აუმჯობესებს.
  • აიკრძალოს ამგვარი კლასების პირდაპირი ინстанცირება.
  • გააუმჯობესოს სტატიკური ანალიზის და განვითარების ინსტრუმენტების მხარდაჭერა.

გამოყენების მაგალითი:

abstract class Animal {
  void makeSound(); // აბსტრაქტული მეთოდი
}

class Dog extends Animal {
  @override
  void makeSound() {
    print('Bark');
  }
}

აქ, Animal არის აბსტრაქტული კლასი, რომელსაც პირდაპირ ინстанცირება არ შეიძლება.