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;
}
}