PHP
Sabitlere erişim
:: operatörüyle sınıf sabitlerine dışarıdan ve içeriden erişmeyi öğrenirsin.
:: operatörüyle sabitlere erişim
Sınıf sabitlerine :: operatörüyle (scope resolution operator) erişilir. Dışarıdan ClassName::CONSTANT biçiminde yazılır.
Örnek: echo Circle::PI;. Burada Circle sınıf adı, :: erişim operatörü, PI sabit adıdır. $ işareti kullanılmaz.
Sınıf içinden erişmek için self::CONSTANT kullanılır. self, mevcut sınıfı temsil eder. Örnek: self::PI. Bu, static:: ile geç bağlama (late static binding) yapmaz; her zaman tanımlandığı sınıfı gösterir.
Sınıf içinden self:: ve parent::
Sınıf içinde bir sabiti kullanırken self::CONSTANT yazarsın. self, metodu tanımlayan sınıfı gösterir.
Örnek: bir Circle sınıfında alan hesaplayan metot sabiti kullanır: return self::PI * $r * $r;. Burada self::PI, aynı sınıftaki PI sabitidir.
Eğer alt sınıfta ebeveynin sabitini çağırman gerekirse parent::CONSTANT kullanırsın. parent:: bir üst sınıfı temsil eder.
Uygulama Circle sınıfında sabit ile alan hesabı
Bir Circle sınıfı tanımla. const float PI = 3.14; sabiti olsun. public function area(float $r): float metodu ekle ve return self::PI * $r * $r döndürsün. Sonra $circle = new Circle() oluştur ve echo $circle->area(2) . "\n" yazdır. (Beklenen çıktı: 12.56)
Örnek çözümü göster
float { return self::PI * $r * $r; } } sonra $circle = new Circle(); echo $circle->area(2) . "\n";
Örnek çözüm:
<?php
// Circle sınıfını tanımla ve area metodunu ekle
class Circle {
const float PI = 3.14;
public function area(float $r): float {
return self::PI * $r * $r;
}
}
$circle = new Circle();
echo $circle->area(2) . "
";
Kendini test et
-
Circle sınıfındaki PI sabitine dışarıdan nasıl erişilir?
- Circle::PI
- $circle->PI
- Circle->PI
- $circle::PI
Cevabı göster
Circle::PI — Doğru. Circle::PI ile sınıf sabitine dışarıdan erişilir.
-
Sınıf içinden sabite erişim
class Circle {
const float PI = 3.14;
public function area(float $r): float {
return ____ * $r * $r;
}
}
Cevabı göster
class Circle {
const float PI = 3.14;
public function area(float $r): float {
return self::PI * $r * $r;
}
}
-
Sabit erişim biçimlerini eşleştir
- Circle::PI
- Sınıf dışından erişim
- self::PI
- Sınıf içinden erişim
- parent::PI
- Ebeveynden erişim
- static::PI
- Geç bağlama (alt sınıf)
Sıradaki ders: ::class ile sınıf adı