Junior
Abstrakt sinf nima?
sobes.tech AI
AIdan javob
Abstrakt sinf — bu toifadagi sinf bo‘lib, uni to‘g‘ridan-to‘g‘ri instansiya qilish mumkin emas, ya’ni uning ob’ektini new yordamida yaratish mumkin emas. U boshqa sinflar (vorislar) uchun asosiy sinf sifatida foydalanish uchun mo‘ljallangan.
Abstrakt sinfning asosiy xususiyatlari:
abstractkalit so‘zi bilan e’lon qilinadi.- Unda abstrakt va oddiy (aniq) metodlar bo‘lishi mumkin.
- Abstrakt metodlar
abstractkalit so‘zi bilan e’lon qilinadi va ularning tanasi (implementatsiyasi) bo‘lmaydi. Ular voris sinflarda amalga oshirilishi kerak. - Konstant qiymatlar va xususiyatlar bo‘lishi mumkin.
<?php
abstract class AbstractClass
{
// Abstrakt metod — voris sinfda amalga oshirilishi kerak
abstract protected function abstractMethod();
// Oddiy metod
public function concreteMethod()
{
echo "Bu konkret metod\n";
}
}
class ConcreteClass extends AbstractClass
{
// Abstrakt metodni amalga oshirish
protected function abstractMethod()
{
echo "Bu abstrakt metodning amalga oshirilishi\n";
}
}
// Abstrakt sinfning ob’ekti yaratilmaydi
// $obj = new AbstractClass(); // Xato
// Konkret sinfning ob’ekti yaratilishi mumkin
$obj = new ConcreteClass();
$obj->abstractMethod();
$obj->concreteMethod();
Abstrakt sinflar bog‘langan sinflar uchun umumiy interfeys va funksionallikni belgilash uchun ishlatiladi, ularning amalga oshirish tafsilotlari aniq voris sinflarga qoldiriladi. Koddan foydalanuvchi nuqtai nazardan, bazaviy abstrakt sinf turi bilan voris sinflar ob’ektlari bilan ishlash mumkin, bu polimorfizmni ta’minlaydi.