Menu
Coddy logo textTech

Özellikler

Coddy'nin PHP Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 6 / 91.

Özellikler, bir sınıfa ait değişkenlerdir. Nesnenin durumu hakkındaki bilgileri depolarlar. PHP'de özellikler, public gibi bir görünürlük anahtar sözcüğü kullanılarak sınıfın içinde bildirilmelidir.

Özelliklerin varsayılan değerleri olabilir: her yeni nesne aynı başlangıç değeriyle başlar, ancak her nesne kendi bağımsız kopyasını saklar:

<?php
class Student {
    public $school = "PHP Academy";  // varsayılan değer
    public $name;
    public $age;
}

Varsayılan değeri olmayan özellikler, siz onları ayarlayana kadar null olarak başlar.

Özellik değerlerini bir yöntem ve $this kullanarak ayarlayabilirsiniz:

class Student {
    public $school = "PHP Academy";
    public $name;
    public $age;

    public function setInfo($name, $age) {
        $this->name = $name;    // örnek verisini ayarla
        $this->age = $age;      // örnek verisini ayarla
    }
}

Öğrenci nesneleri oluşturun ve her birinin verilerini ayarlayın:

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

Özelliklere erişin:

echo $student1->name . "\n";          // Alice
echo $student2->name . "\n";          // Bob
echo $student1->school . "\n";        // PHP Academy
echo $student2->school . "\n";        // PHP Academy

Çıktı:

Alice
Bob
PHP Academy
PHP Academy

Temel fark: default değerlere sahip özellikler ( $school gibi) her nesne için aynı değerle başlar. Metotlar aracılığıyla ayarlanan özellikler ($name ve $age gibi) her nesneye özgüdür.

challenge icon

Görev

Kolay

Student sınıfını student.php içinde tamamla:

  1. Varsayılan değeri "PHP Academy" olan bir $school özelliği tanımla
  2. $name ve $age özelliklerini tanımla (varsayılan değerleri olmadan)
  3. $name ve $age parametrelerini alan ve bunları $this kullanarak ayarlayan bir setInfo metodu ekle

driver.php dosyası, iki öğrenci oluşturarak ve bilgilerini yazdırarak sınıfını test edecek.

Kendin dene

<?php
require_once 'student.php';

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

echo $student1->name . " is " . $student1->age . " at " . $student1->school . "\n";
echo $student2->name . " is " . $student2->age . " at " . $student2->school . "\n";
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online PHP derleyicisi