Sobes.tech
Junior

PHP kontekstində genişləndirmə (extend) nədir?

sobes.tech Süni İntellekt

AI-dan cavab

PHP-də genişlənmə və ya irsiyyət mexanizmi, bir sinfin (uşaq və ya irsi sinf) başqa bir sinfin (valideyn və ya əsas sinf) xüsusiyyətlərini və metodlarını miras almağa imkan verir.

extends açar sözü valideyn sinfi göstərmək üçün istifadə olunur.

İrsiyyətin üstünlükləri:

  • Kodun təkrar istifadəsi: Eyni kodu bir neçə dəfə yazmağa ehtiyac yoxdur.
  • Genişləndirilə bilmə: Uşaq sinfi yeni xüsusiyyətlər və metodlar əlavə edə bilər və ya valideyn sinfinin mövcud olanlarını üst-üstə qoya bilər.
  • Polimorfizm: Müxtəlif siniflərin obyektləri ümumi valideyn sinfi kimi işlənə bilər.

Nümunə:

<?php

class Animal {
    public function eat() {
        echo "Heyvan yeyir.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "İt havlayır.";
    }
}

$dog = new Dog();
$dog->eat(); // Valideyn sinfinin metodunu çağırmaq
$dog->bark(); // Uşaq sinfinin metodunu çağırmaq

?>

Uşaq sinfi aşağıdakıları miras almır:

  • Xüsusi xüsusiyyətlər və metodlar (hətta onlar obyektə daxil olsa da, birbaşa uşaq sinfi tərəfindən çağırıla bilməzlər).
  • Valideyn sinfinin konstruktoru avtomatik olaraq çağırılmır, əgər parent::__construct() ilə açıq şəkildə göstərilməzsə.