Χειρισμός Αντικειμένων σε Κλάσεις στην OOP στην PHP
Οι κλάσεις μπορούν να δεχτούν αντικείμενα άλλων κλάσεων ως παραμέτρους μεθόδων και να χειριστούν αυτά τα αντικείμενα. Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Ας υποθέσουμε ότι αποφασίσαμε να δημιουργήσουμε μια κλάση, η οποία θα χειρίζεται ένα σύνολο αντικειμένων χρηστών:
<?php
class UsersCollection {
}
?>
Θα αποθηκεύσουμε τα αντικείμενα χρηστών σε μορφή πίνακα σε μια ιδιωτική ιδιότητα:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
Ας δημιουργήσουμε μια μέθοδο για την προσθήκη νέου χρήστη στον πίνακα:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
Και τώρα ας δημιουργήσουμε μια μέθοδο, η οποία θα εμφανίζει τα ονόματα όλων των χρηστών:
<?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>';
}
}
}
?>
Ας δούμε πώς λειτουργεί η κλάση μας. Αρχικά, ας δημιουργήσουμε το αντικείμενό της:
<?php
$uc = new UsersCollection();
?>
Τώρα ας προσθέσουμε στη συλλογή μας αρκετούς χρήστες:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
Και τώρα ας καλέσουμε τη μέθοδο που θα εμφανίσει τα ονόματα όλων των χρηστών:
<?php
$uc->show();
?>
Δημιουργήστε την κλάση EmployeesCollection,
η οποία θα περιέχει έναν πίνακα εργαζομένων.
Δημιουργήστε σε αυτήν την κλάση μια μέθοδο για την προσθήκη νέου εργαζομένου.
Δημιουργήστε σε αυτήν την κλάση μια μέθοδο για την εμφάνιση όλων των εργαζομένων.
Δημιουργήστε σε αυτήν την κλάση μια μέθοδο για τον υπολογισμό του συνολικού μισθοού όλων των εργαζομένων.
Δημιουργήστε σε αυτήν την κλάση μια μέθοδο για τον υπολογισμό του μέσου μισθοού όλων των εργαζομένων.