Sobes.tech
Junior

PHP kontekstida kengaytirish (extend) nima?

sobes.tech AI

AIdan javob

PHP-da kengayish yoki meros olish mexanizmi, bir sinf (bolalar yoki voris sinf) boshqa sinfning (ota yoki asosiy sinf) xususiyatlari va metodlarini meros qilib olish imkonini beradigan mexanizmdir.

extends kalit so'zi ota sinfini ko'rsatish uchun ishlatiladi.

Meros olishning afzalliklari:

  • Kodning qayta ishlatilishi: Bir xil kodni bir necha marta yozish shart emas.
  • Kengaytirilishi: Bolalar sinfi yangi xususiyatlar va metodlar qo'shishi yoki ota sinfidagi mavjudlarini qayta yozishi mumkin.
  • Polimorfizm: Turli sinflarning ob'ektlari umumiy ota sinf ob'ekti sifatida ishlov berilishi mumkin.

Misol:

<?php

class Animal {
    public function eat() {
        echo "Hayvon ovqatlanmoqda.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "It baqiradi.";
    }
}

$dog = new Dog();
$dog->eat(); // Ota sinf metodini chaqirish
$dog->bark(); // Bolalar sinf metodini chaqirish

?>

Bolalar sinfi quyidagilarni meros olmaydi:

  • Maxfiy xususiyatlar va metodlar (garchi ular ob'ektda mavjud bo'lsa-da, to'g'ridan-to'g'ri chaqib bo'lmaydi).
  • Ota sinfning konstruktorini ob'ekt yaratishda avtomatik chaqirilmaydi, agar parent::__construct() yordamida aniq ko'rsatilmasa.