Junior
PHP'de görünürlük modifikasyonları nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Görünürlük belirteçleri (public, protected, private) bir sınıfın özelliklerine ve metodlarına erişim seviyesini belirler.
public- her yerden erişilebilir (sınıf içinde, kalıtılan sınıflarda, dışarıdan).protected- sınıf içinde ve ondan türeyen sınıflarda erişilebilir.private- sadece tanımlandığı sınıf içinde erişilebilir.
Örnek:
<?php
class MyClass {
public $publicProperty = 'public';
protected $protectedProperty = 'protected';
private $privateProperty = 'private';
public function publicMethod() {
echo "Kamu metodu erişimi: " . $this->publicProperty . ", " . $this->protectedProperty . ", " . $this->privateProperty . "\n";
}
protected function protectedMethod() {
echo "Korunan metod erişimi: " . $this->publicProperty . ", " . $this->protectedProperty . ", " . $this->privateProperty . "\n";
}
private function privateMethod() {
echo "Özel metod erişimi: " . $this->publicProperty . ", " . $this->protectedProperty . ", " . $this->privateProperty . "\n";
}
}
class MyChildClass extends MyClass {
public function testAccess() {
echo "Çocuk sınıf erişimi: " . $this->publicProperty . ", " . $this->protectedProperty . "\n"; // public ve protected erişimi
// echo $this->privateProperty; // Hata, private erişilebilir değil
$this->publicMethod();
$this->protectedMethod();
// $this->privateMethod(); // Hata, private erişilebilir değil
}
}
$obj = new MyClass();
echo $obj->publicProperty . "\n"; // Erişilebilir
// echo $obj->protectedProperty; // Hata, protected erişilebilir değil
// echo $obj->privateProperty; // Hata, private erişilebilir değil
$obj->publicMethod();
// $obj->protectedMethod(); // Hata, protected erişilebilir değil
// $obj->privateMethod(); // Hata, private erişilebilir değil
$childObj = new MyChildClass();
$childObj->testAccess();