Menu
Coddy logo textTech

Właściwości

Część sekcji Programowanie obiektowe ścieżki PHP w Coddy. Lekcja 6 z 91.

Właściwości to zmienne należące do klasy. Przechowują informacje o stanie obiektu. W PHP właściwości należy deklarować wewnątrz klasy, używając słowa kluczowego określającego widoczność, takiego jak public.

Właściwości mogą mieć wartości domyślne: każdy nowy obiekt rozpoczyna od tej samej wartości początkowej, ale każdy obiekt zachowuje własną, niezależną kopię:

<?php
class Student {
    public $school = "PHP Academy";  // wartość domyślna
    public $name;
    public $age;
}

Właściwości bez wartości domyślnej mają wartość null, dopóki ich nie ustawisz.

Możesz ustawiać wartości właściwości za pomocą metody i $this:

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

    public function setInfo($name, $age) {
        $this->name = $name;    // ustaw dane instancji
        $this->age = $age;      // ustaw dane instancji
    }
}

Utwórz obiekty studentów i ustaw ich indywidualne dane:

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

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

Uzyskaj dostęp do właściwości:

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

Wynik:

Alice
Bob
PHP Academy
PHP Academy

Kluczowa różnica: właściwości z wartościami domyślnymi (takie jak $school) mają tę samą wartość początkową dla każdego obiektu. Właściwości ustawiane za pomocą metod (takie jak $name i $age) są unikalne dla każdego obiektu.

challenge icon

Wyzwanie

Łatwy

Uzupełnij klasę Student w pliku student.php:

  1. Zadeklaruj właściwość $school z wartością domyślną "PHP Academy"
  2. Zadeklaruj właściwości $name i $age (bez wartości domyślnych)
  3. Dodaj metodę setInfo, która przyjmuje parametry $name i $age oraz przypisuje im wartości za pomocą $this

Plik driver.php przetestuje Twoją klasę, tworząc dwóch studentów i wyświetlając ich informacje.

Spróbuj swoich sił

<?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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator PHP online