PHP Sınıf İçerisinde Görünürlük (Visibility) Ve Erişim Türleri

PHP'de sınıflarda görünürlük (visibility) ve erişim türleri, sınıfın özelliklerine (properties) ve metotlarına (methods) dışarıdan erişim düzeyini belirler. Üç ana erişim türü bulunmaktadır: public, protected ve private.

  1. public:

    • Herkes tarafından erişilebilir.
    • Sınıf dışından, sınıf içinde, alt sınıflardan ve hatta diğer dosyalardan erişilebilir.
  2. protected:

    • Sadece sınıf içinde ve alt sınıflarda erişilebilir.
    • Sınıf dışından doğrudan erişim mümkün değildir.
  3. private:

    • Sadece tanımlandığı sınıf içinde erişilebilir.
    • Alt sınıflar ve sınıf dışından doğrudan erişim mümkün değildir.

İşte bu kavramları anlamak için bir örnek:

<?php class OrnekSinif { // public özellik public $publicOzellik = "Bu bir public özelliktir."; // protected özellik protected $protectedOzellik = "Bu bir protected özelliktir."; // private özellik private $privateOzellik = "Bu bir private özelliktir."; // Constructor (__construct) metodu public function __construct() { echo "Constructor çağrıldı. "; echo $this->publicOzellik . " "; // Doğrudan erişim echo $this->protectedOzellik . " "; // Doğrudan erişim echo $this->privateOzellik . " "; // Doğrudan erişim } // Bir işlem gerçekleştiren metot public function islemYapanMetod() { echo "Bu bir public metottur. "; } // protected metot protected function protectedMetot() { echo "Bu bir protected metottur. "; } // private metot private function privateMetot() { echo "Bu bir private metottur. "; } } // Sınıfı kullanarak örnek oluşturma $ornek = new OrnekSinif(); // Sınıf dışından public özelliklere erişim echo $ornek->publicOzellik . " "; // Sınıf dışından public metoda erişim $ornek->islemYapanMetod(); // Diğer erişim türleri sınıf dışından erişilemez: // echo $ornek->protectedOzellik; // Hata verir // echo $ornek->privateOzellik; // Hata verir // $ornek->protectedMetot(); // Hata verir // $ornek->privateMetot(); // Hata verir ?>

Bu örnekte, sınıf içinde tanımlanan özellik ve metotlara erişim, belirlenen erişim türlerine göre farklılık göstermektedir. public olanlar sınıf dışından erişilebilirken, protected ve private olanlar sadece sınıf içinde kullanılabilir.



Yorum Ekle

Üzerine gel