mavzermete 1
mavzermete
Fethi Polat 1
Fethi Polat
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Scarlet 1
Scarlet
xranzei 1
xranzei
Hikaye Ekle

Altın Konu PHP OOP - Erişim Değiştiricileri

  • Konuyu başlatan Konuyu başlatan ITJA
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 8
  • Görüntüleme Görüntüleme 398

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

PHP - Erişim Değiştiricileri

Özellikler ve yöntemler, nerede erişilebileceğini kontrol eden erişim değiştiricilerine sahip olabilir.

Üç erişim değiştiricisi vardır:

  • public özellik veya yönteme her yerden erişilebilir. Bu varsayılan
  • protected özellik veya yönteme sınıf içinde ve o sınıftan türetilen sınıflar tarafından erişilebilir
  • private özellik veya yönteme SADECE sınıf içinde erişilebilir
Aşağıdaki örnekte, üç özelliğe (ad, renk ve ağırlık) üç farklı erişim değiştiricisi ekledik. Burada, name özelliğini ayarlamaya çalışırsanız, düzgün çalışacaktır (çünkü name özelliği herkese açıktır ve her yerden erişilebilir). Ancak, renk veya ağırlık özelliğini ayarlamaya çalışırsanız, bu önemli bir hatayla sonuçlanır (çünkü renk ve ağırlık özelliği korunur ve özeldir):

Örnek


PHP:
<?php
class Turkmmo {
  public $name;
  protected $color;
  private $weight;
}

$mango = new Turkmmo();
$mango->name = 'Mango'; // OK
$mango->color = 'Yellow'; // ERROR
$mango->weight = '300'; // ERROR
?>

Sonraki örnekte iki fonksiyona erişim değiştiricileri ekledik. Burada, set_color() veya set_weight() işlevini çağırmaya çalışırsanız, tüm özellikler herkese açık olsa bile (iki işlev korumalı ve özel olarak kabul edildiğinden) önemli bir hatayla sonuçlanır:

Örnek


PHP:
<?php
class Turkmmo {
  public $name;
  public $color;
  public $weight;

  function set_name($n) {  // a public function (default)
    $this->name = $n;
  }
  protected function set_color($n) { // a protected function
    $this->color = $n;
  }
  private function set_weight($n) { // a private function
    $this->weight = $n;
  }
}

$mango = new Turkmmo();
$mango->set_name('Mango'); // OK
$mango->set_color('Yellow'); // ERROR
$mango->set_weight('300'); // ERROR
?>
 

En Çok Reaksiyon Alan Mesajlar

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst