Sobes.tech
Junior

Nima bu abstrakt sinf?

sobes.tech AI

AIdan javob

Abstrakt sinf — bu toifadirki, uni to'g'ridan-to'g'ri new operatori yordamida yaratib bo'lmaydi. U boshqa sinflar uchun asos bo'lib xizmat qiladi va abstrakt metodlar (amalga oshirilmagan) hamda oddiy metodlarni (amalga oshirilgan) o'z ichiga olishi mumkin. Abstrakt sinflar abstract kalit so'zi bilan belgilangan.

Asosiy xususiyatlar:

  • Ob'ektini yaratib bo'lmaydi: O'zining abstrakt sinf ob'ektini yaratish mumkin emas.
  • Abstrakt metodlar bo'lishi mumkin: Tanasi bo'lmagan metodlar, ularni voris sinflar qayta yozishi kerak.
  • Oddiy metodlar bo'lishi mumkin: Amalga oshirilgan metodlar, meros qilib olinish yoki qayta yozilishi mumkin.
  • Merosi: Voris sinflar abstrakt sinfdan meros oladi va uning barcha abstrakt metodlarini amalga oshirishi shart.

Misol:

abstract class Shape {
  // Tanasi bo'lmagan abstrakt metod
  double getArea();

  // Amalga oshirilgan oddiy metod
  void describe() {
    print('Bu figura.');
  }
}

class Circle extends Shape {
  double radius;

  Circle(this.radius);

  // Abstrakt metodni amalga oshirish
  @override
  double getArea() {
    return 3.14 * radius * radius;
  }
}

class Square extends Shape {
  double side;

  Square(this.side);

  // Abstrakt metodni amalga oshirish
  @override
  double getArea() {
    return side * side;
  }
}