⊗ppOpAdCOM 22 of 107 menu

Манипулација со објекти во класи во ООП во 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, која ќе содржи низа од вработени.

Направете во оваа класа метод за додавање на нов вработен.

Направете во оваа класа метод за приказ на сите вработени.

Направете во оваа класа метод за пресметка на вкупната плата на сите вработени.

Направете во оваа класа метод за пресметка на просечната плата на сите вработени.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј