Manipulation von Objekten in Klassen in OOP in PHP
Klassen können in ihren Methoden Objekte anderer Klassen als Parameter entgegennehmen und diese Objekte manipulieren. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Klasse:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Nehmen wir an, wir haben uns entschieden, eine Klasse zu erstellen, die eine Sammlung von User-Objekten verwalten soll:
<?php
class UsersCollection {
}
?>
Wir speichern die User-Objekte in Form eines Arrays in einer privaten Eigenschaft:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
Erstellen wir eine Methode zum Hinzufügen eines neuen Users zum Array:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
Und jetzt erstellen wir eine Methode, die die Namen aller User ausgibt:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
public function show() {
foreach ($this->users as $user) {
echo $user->getName() . '<br>';
}
}
}
?>
Schauen wir uns die Funktionsweise unserer Klasse an. Erstellen wir zunächst ihr Objekt:
<?php
$uc = new UsersCollection();
?>
Fügen wir nun unserer Sammlung mehrere User hinzu:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
Und jetzt rufen wir die Methode auf, die die Namen aller User ausgibt:
<?php
$uc->show();
?>
Erstellen Sie die Klasse EmployeesCollection,
die ein Array von Mitarbeitern enthalten wird.
Erstellen Sie in dieser Klasse eine Methode zum Hinzufügen eines neuen Mitarbeiters.
Erstellen Sie in dieser Klasse eine Methode zum Ausgeben aller Mitarbeiter.
Erstellen Sie in dieser Klasse eine Methode zur Berechnung der Gesamtsumme der Gehälter aller Mitarbeiter.
Erstellen Sie in dieser Klasse eine Methode zur Berechnung des Durchschnittsgehalts aller Mitarbeiter.