Junior
Šta je proširenje (extend) u kontekstu PHP-a?
sobes.tech АИ
Одговор од АИ
Proširenje, ili nasleđivanje, u PHP-u je mehanizam koji omogućava jednoj klasi (potklasi ili izvedenoj klasi) da nasledi svojstva i metode druge klase (roditeljske ili osnovne klase).
Ključna reč extends se koristi za označavanje roditeljske klase.
Prednosti nasleđivanja:
- Ponovna upotreba koda: Nije potrebno da se isti kod piše više puta.
- Proširivost: Potklasa može dodavati nova svojstva i metode ili prepisivati postojeće iz roditeljske klase.
- Polimorfizam: Objekti različitih klasa mogu se tretirati kao objekti zajedničke roditeljske klase.
Primer:
<?php
class Animal {
public function eat() {
echo "Životinja jede.";
}
}
class Dog extends Animal {
public function bark() {
echo "Pas laje.";
}
}
$dog = new Dog();
$dog->eat(); // Poziv metode iz roditeljske klase
$dog->bark(); // Poziv metode iz potklase
?>
Potklasa ne nasleđuje:
- Privatna svojstva i metode (iako postoje u objektu, ne mogu biti direktno pozvani iz potklase).
- Konstruktor roditeljske klase se ne poziva automatski pri kreiranju objekta potklase, osim ako se eksplicitno ne navede pomoću
parent::__construct().