⊗ppOpAdCOM 22 of 107 menu

Manipulacja obiektami w klasach w OOP w PHP

Klasy jako parametry metod mogą przyjmować obiekty innych klas i manipulować tymi obiektami. Spójrzmy na przykład. Załóżmy, że mamy następującą klasę:

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

Załóżmy, że postanowiliśmy utworzyć klasę, która będzie manipulować zbiorem obiektów użytkowników:

<?php class UsersCollection { } ?>

Będziemy przechowywać obiekty użytkowników w postaci tablicy w prywatnej właściwości:

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

Stwórzmy metodę do dodawania nowego użytkownika do tablicy:

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

A teraz stwórzmy metodę, która wyświetli imiona wszystkich użytkowników:

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

Zobaczmy na działanie naszej klasy. Na początku stwórzmy jej obiekt:

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

Teraz dodajmy do naszej kolekcji kilku użytkowników:

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

A teraz wywołajmy metodę, która wyświetli imiona wszystkich użytkowników:

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

Stwórz klasę EmployeesCollection, która będzie zawierać tablicę pracowników.

Stwórz w tej klasie metodę do dodawania nowego pracownika.

Stwórz w tej klasie metodę do wyświetlania wszystkich pracowników.

Stwórz w tej klasie metodę do obliczania łącznej pensji wszystkich pracowników.

Stwórz w tej klasie metodę do obliczania średniej pensji wszystkich pracowników.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć