Menu
Coddy logo textTech

Eigenschaften

Teil des Abschnitts Objektorientierte Programmierung der PHP-Journey von Coddy — Lektion 6 von 91.

Eigenschaften sind Variablen, die zu einer Klasse gehören. Sie speichern Informationen über den Zustand des Objekts. In PHP müssen Eigenschaften innerhalb der Klasse mit einem Sichtbarkeits-Schlüsselwort wie public deklariert werden.

Eigenschaften können Standardwerte haben, die von allen Objekten gemeinsam genutzt werden:

<?php
class Student {
    public $school = "PHP Academy";  // Standardwert
    public $name;
    public $age;
}

Eigenschaften ohne Standardwert beginnen als null, bis Sie sie festlegen.

Sie können Eigenschaftswerte mithilfe einer Methode und $this festlegen:

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

    public function setInfo($name, $age) {
        $this->name = $name;    // Instanzdaten festlegen
        $this->age = $age;      // Instanzdaten festlegen
    }
}

Erstellen Sie Student-Objekte und legen Sie deren individuelle Daten fest:

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

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

Greifen Sie auf die Eigenschaften zu:

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

Ausgabe:

Alice
Bob
PHP Academy
PHP Academy

Hauptunterschied: Eigenschaften mit Standardwerten (wie $school) beginnen bei jedem Objekt mit demselben Wert. Eigenschaften, die über Methoden gesetzt werden (wie $name und $age), sind für jedes Objekt eindeutig.

challenge icon

Aufgabe

Einfach

Vervollständigen Sie die Student Klasse in student.php:

  1. Deklarieren Sie eine Eigenschaft $school mit dem Standardwert "PHP Academy"
  2. Deklarieren Sie die Eigenschaften $name und $age (keine Standardwerte)
  3. Fügen Sie eine setInfo Methode hinzu, die die Parameter $name und $age entgegennimmt und diese mit $this setzt

Die Datei driver.php wird Ihre Klasse testen, indem sie zwei Studenten erstellt und deren Informationen ausgibt.

Spickzettel

Eigenschaften (Properties) sind Variablen, die zu einer Klasse gehören und Informationen über den Zustand des Objekts speichern. Sie müssen innerhalb der Klasse mit einem Sichtbarkeits-Schlüsselwort wie public deklariert werden.

Eigenschaften können Standardwerte haben, die von allen Objekten geteilt werden:

<?php
class Student {
    public $school = "PHP Academy";  // default value
    public $name;
    public $age;
}

Eigenschaften ohne Standardwert beginnen als null, bis sie gesetzt werden.

Verwenden Sie Methoden und $this, um Eigenschaftswerte zu setzen:

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

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

Erstellen Sie Objekte und setzen Sie individuelle Daten:

$student1 = new Student();
$student1->setInfo("Alice", 20);

echo $student1->name;    // Alice
echo $student1->school;  // PHP Academy

Eigenschaften mit Standardwerten beginnen für jedes Objekt gleich. Eigenschaften, die über Methoden gesetzt werden, sind für jedes Objekt individuell.

Probier es selbst

<?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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung