Sobes.tech
Junior

Ինչ է ընդլայնումը (extend) PHP-ի համատեքստում?

sobes.tech AI

Պատասխան AI-ից

PHP-յի ընդարձակում կամ ժառանգությունը մեխանիզմ է, որը թույլ է տալիս մեկ դասին (մշակ կամ ժառանգական դաս) ժառանգել այլ դասի (հայր կամ հիմնական դաս) հատկությունները և մեթոդները:

extends բանալի բառը օգտագործվում է հոր դասը նշելու համար:

Ժառանգության առավելությունները՝

  • Կոդի վերօգտագործում: Միևնույն կոդը կրկնակի գրել անհրաժեշտ չէ:
  • Երկարաձգելիություն: Մշակ դասը կարող է ավելացնել նոր հատկություններ և մեթոդներ կամ վերագրել առկաներին հոր դասից:
  • Բազմակողմանիություն: Տարբեր դասերի օբյեկտները կարող են մշակվել որպես ընդհանուր հոր դասի օբյեկտներ:

Օրինակ՝

<?php

class Animal {
    public function eat() {
        echo "Համայնքը ուտում է.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "Շունը հաչում է.";
    }
}

$dog = new Dog();
$dog->eat(); // Հոր դասի մեթոդի կանչ
$dog->bark(); // Մշակ դասի մեթոդի կանչ

?>

Մշակ դասը ժառանգում է՝

  • Պրիվատ հատկություններ և մեթոդներ (համենայն դեպս, եթե դրանք առկա են օբյեկտում, դրանք չեն կարող ուղղակի կանչվել մշակ դասից):
  • Հոր դասի կոնստրուկտորը ավտոմատ կերպով չի կանչվում, երբ ստեղծվում է մշակ դասի օբյեկտ, եթե դա հստակ չի նշվում parent::__construct()-ով: