Sınıf iskeleti
Bir koleksiyon sınıfı tanımlayıp yapıcıyla iç durumu kurarsın.
Yapıcı metot ile iç durumu kurmak
Bir koleksiyon yarattığında çoğu zaman başlangıç verisi vermek istersin. __construct metodu, new ile örnek oluşturulduğunda otomatik çalışır ve sınıfın iç durumunu kurar.
Collection sınıfında yapıcı metot, bir dizi parametre alır ve bunu $this->items property'sine atar. Böylece new Collection(["elma", "armut"]) dediğinde koleksiyon iki öğeyle başlar.
$this ile property başlatma
Yapıcı metot içinde $this sözde değişkeni, oluşturulmakta olan örneğe işaret eder. Parametreyi property'ye atamak için $this->items = $initial; yazarsın.
Parametre için varsayılan değer vermek iyi bir alışkanlıktır: array $initial = []. Böylece new Collection() (boş) ve new Collection(["elma"]) (dolu) her ikisi de çalışır.
Uygulama Yapıcı metot ekle
Collection sınıfına public function __construct(array $initial = []) yapıcı metodunu ekle. İçinde $this->items = $initial; ile parametreyi property'ye ata. Sonra $c = new Collection(["elma", "armut"]); ile iki öğeli örnek oluştur ve echo count($c->items); ile sayıyı yazdır.
Örnek çözümü göster
Sınıf içine public function __construct(array $initial = []) { $this->items = $initial; } ekle. new Collection(["elma", "armut"]) ile örnek oluştur, echo count($c->items); ile yazdır.
Örnek çözüm:
<?php
// Collection sınıfının iskeleti
class Collection {
public array $items = [];
public function __construct(array $initial = []) {
$this->items = $initial;
}
}
$c = new Collection(["elma", "armut"]);
echo count($c->items);
Kendini test et
-
Yapıcı metot ne zaman çalışır?
- Sınıf tanımlanırken
- Betik başladığında otomatik olarak
- new ile örnek oluşturulduğunda
- Bir metot çağrıldığında
Cevabı göster
new ile örnek oluşturulduğunda — Doğru. __construct, new ile örnek oluşturulduğunda otomatik çalışır.
-
Yapıcıya parametre ekle
public function __construct(array ____) { $this->items = $initial; }Cevabı göster
public function __construct(array $initial = []) { $this->items = $initial; } -
Yapıcı metot kavramlarını eşleştir
- __construct
- Yapıcı metot adı
- $this->items
- Property ataması
- new Collection()
- Örnek oluşturma
- array $initial
- Parametre türü