⊗ppOpAdCOM 22 of 107 menu

Manipulacija objektima u klasama u OOP u PHP-u

Klase kroz parametre metoda mogu prihvati objekte drugih klasa i manipulisati tim objektima. Pogledajmo na primeru. Neka postoji sledeća klasa:

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

Recimo da želimo da napravimo klasu koja će manipulisati skupom objekata korisnika:

<?php class UsersCollection { } ?>

Čuvaćemo objekte korisnika u vidu niza u privatnom svojstvu:

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

Napravimo metodu za dodavanje novog korisnika u niz:

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

A sada napravimo metod koji će ispisati imena svih korisnika:

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

Pogledajmo rad naše klase. Prvo kreirajmo njen objekat:

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

Sada dodajmo u našu kolekciju nekoliko korisnika:

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

A sada pozovimo metod koji će ispisati imena svih korisnika:

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

Napravite klasu EmployeesCollection, koja će sadržati niz zaposlenih.

Napravite u ovoj klasi metod za dodavanje novog zaposlenog.

Napravite u ovoj klasi metod za ispis svih zaposlenih.

Napravite u ovoj klasi metod za proračun ukupne plate svih zaposlenih.

Napravite u ovoj klasi metod za proračun prosečne plate svih zaposlenih.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij