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 – jedes neue Objekt beginnt mit demselben Initialwert, aber jedes Objekt behält seine eigene unabhängige Kopie:

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

Eigenschaften ohne Standardwert sind anfangs null, bis Sie sie festlegen.

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

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

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

Erstellen Sie Studenten-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 Klasse Student 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 Methode setInfo hinzu, die die Parameter $name und $age entgegennimmt und diese mithilfe von $this setzt

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

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