⊗ppOpAdCOM 22 of 107 menu

Manipulacija objektov v razredih v OOP v PHP

Razredi lahko kot parametre metod sprejemajo objekte drugih razredov in manipulirajo s temi objekti. Poglejmo si na primeru. Recimo, da imamo naslednji razred:

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

Recimo, da smo se odločili narediti razred, ki bo manipuliral nizom objektov uporabnikov:

<?php class UsersCollection { } ?>

Objekte uporabnikov bomo shranjevali v obliki matrike v zasebni lastnosti:

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

Naredimo metodo za dodajanje novega uporabnika v matriko:

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

In sedaj naredimo metodo, ki bo izpisala imena vseh uporabnikov:

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

Poglejmo si delovanje našega razreda. Najprej ustvarimo njegov objekt:

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

Sedaj dodajmo v našo zbirko nekaj uporabnikov:

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

In sedaj pokličimo metodo, ki bo izpisala imena vseh uporabnikov:

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

Naredite razred EmployeesCollection, ki bo vseboval matriko zaposlenih.

Naredite v tem razredu metodo za dodajanje novega zaposlenega.

Naredite v tem razredu metodo za izpis vseh zaposlenih.

Naredite v tem razredu metodo za izračun skupne plače vseh zaposlenih.

Naredite v tem razredu metodo za izračun povprečne plače vseh zaposlenih.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni