Junior
PHP bağlamında extend nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
PHP'de genişletme veya kalıtım, bir sınıfın (alt sınıf veya türetilmiş sınıf) başka bir sınıfın (ebeveyn veya temel sınıf) özelliklerini ve yöntemlerini devralmasını sağlayan bir mekanizmadır.
extends anahtar kelimesi, ebeveyn sınıfını belirtmek için kullanılır.
Kalıtımın avantajları:
- Kodun yeniden kullanımı: Aynı kodu birkaç kez yazmaya gerek yoktur.
- Genişletilebilirlik: Alt sınıf, yeni özellikler ve yöntemler ekleyebilir veya ebeveyn sınıfındaki mevcut olanları geçersiz kılabilir.
- Çok biçimlilik: Farklı sınıfların nesneleri, ortak ebeveyn sınıfı nesneleri gibi işlenebilir.
Örnek:
<?php
class Animal {
public function eat() {
echo "Hayvan yiyor.";
}
}
class Dog extends Animal {
public function bark() {
echo "Köpek havlar.";
}
}
$dog = new Dog();
$dog->eat(); // Ebeveyn sınıfının metodunu çağırma
$dog->bark(); // Alt sınıfın metodunu çağırma
?>
Alt sınıf şu özellikleri miras almaz:
- Özel özellikler ve metodlar (nesnede bulunsalar da, doğrudan alt sınıf tarafından çağrılamazlar).
- Ebeveyn sınıfın yapıcı metodu, alt sınıf nesnesi oluşturulurken otomatik olarak çağrılmaz, açıkça
parent::__construct()ile belirtilmedikçe.