Middle
Mücərrəd sinif özəl metod daxil edə bilər və niyə?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, mümkündür.
Abstrakt sinifdəki xüsusi metod yalnız həmin abstrakt sinif daxilində görünür və ona çıxış mümkündür. Bu, digər metodların işləməsi üçün lazım olan daxili məntiqi həyata keçirməkdə faydalı ola bilər (məsələn, köməkçi əməliyyatlar üçün), və bu məntiqi miras alan siniflərdən gizləyir.
Yenidən üst-üstə yazıla bilən və ya törəmə siniflərdə istifadə ediləcək metodlar protected və ya public kimi elan edilir.
<?php
abstract class AbstractExample {
abstract public function doSomething();
private function internalHelper() {
// Xüsusi metod, yalnız AbstractExample daxilində görünür
echo "Daxili əməliyyatı yerinə yetirirəm.\n";
}
protected function protectedHelper() {
// Mühafizə olunan metod, həmçinin miras alan siniflərdə görünür
$this->internalHelper(); // Daxili metod çağırışı
echo "Mühafizə olunan əməliyyatı yerinə yetirirəm.\n";
}
}
class ConcreteExample extends AbstractExample {
public function doSomething() {
echo "Xüsusi bir şey edirəm.\n";
$this->protectedHelper(); // protected metoda giriş
// $this->internalHelper(); // Xəta: xüsusi metoda giriş yoxdur
}
}
$obj = new ConcreteExample();
$obj->doSomething();