⊗ppOpAdCOM 22 of 107 menu

Olioiden manipulointi luokissa OOP:ssa PHP:ssä

Luokat voivat menetelmiensä parametreina vastaanottaa muiden luokkien olioita ja manipuloida näitä olioita. Katsotaanpa esimerkkiä. Olkoon meillä seuraava luokka:

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

Oletetaan, että päätimme tehdä luokan, joka manipuloi kokoelmaa käyttäjäolioita:

<?php class UsersCollection { } ?>

Tallennamme käyttäjäoliot taulukkona yksityisessä ominaisuudessa:

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

Teemme menetelmän uuden käyttäjän lisäämiseksi taulukkoon:

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

Ja nyt teemme menetelmän, joka tulostaa kaikkien käyttäjien nimet:

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

Katsotaanpa luokkamme toimintaa. Aluksi luomme sen olion:

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

Nyt lisäämme kokoelmaamme useita käyttäjiä:

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

Ja nyt kutsukaamme menetelmää, joka tulostaa kaikkien käyttäjien nimet:

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

Tee luokka EmployeesCollection, joka sisältää taulukon työntekijöistä.

Tee tähän luokkaan menetelmä uuden työntekijän lisäämiseksi.

Tee tähän luokkaan menetelmä kaikkien työntekijöiden tulostamiseksi.

Tee tähän luokkaan menetelmä kaikkien työntekijöiden kokonaispalkan laskemiseksi.

Tee tähän luokkaan menetelmä kaikkien työntekijöiden keskipalkan laskemiseksi.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää