⊗ppOpAdCOM 22 of 107 menu

Manipularea obiectelor în clase în OOP în PHP

Clasele ca parametri ai metodelor pot primi obiecte ale altor clase și să manipuleze aceste obiecte. Să vedem un exemplu. Să presupunem că avem următoarea clasă:

<?php class User { private $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } ?>

Să presupunem că am decis să facem o clasă, care va manipula un set de obiecte cu utilizatori:

<?php class UsersCollection { } ?>

Vom stoca obiectele cu utilizatori sub formă de matrice în proprietatea privată:

<?php class UsersCollection { private $users; public function __construct() { $this->users = []; } } ?>

Să facem o metodă pentru adăugarea unui nou utilizator în matrice:

<?php class UsersCollection { private $users; public function __construct() { $this->users = []; } public function add($user) { $this->users[] = $user; } } ?>

Și acum să facem o metodă care va afișa numele tuturor utilizatorilor:

<?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>'; } } } ?>

Să vedem funcționarea clasei noastre. Mai întâi să creăm obiectul său:

<?php $uc = new UsersCollection(); ?>

Acum să adăugăm în colecția noastră câțiva utilizatori:

<?php $uc->add(new User('john')); $uc->add(new User('eric')); $uc->add(new User('kyle')); ?>

Și acum să apelăm metoda care va afișa numele tuturor utilizatorilor:

<?php $uc->show(); ?>

Creați clasa EmployeesCollection, care va conține o matrice de angajați.

Faceți în această clasă o metodă pentru adăugarea unui nou angajat.

Faceți în această clasă o metodă pentru afișarea tuturor angajaților.

Faceți în această clasă o metodă pentru calcularea salariului total al tuturor angajaților.

Faceți în această clasă o metodă pentru calcularea salariului mediu al tuturor angajaților.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge