⊗ppOpCgCC 43 of 107 menu

Volanie metódy ihneď po vytvorení objektu v OOP v PHP

Majme triedu Arr, ktorá uchováva pole čísel a vie vypočítať ich súčet pomocou metódy getSum. Samotné čísla prichádzajú vo forme poľa do konštruktora objektu a môžu byť pridávané po jednom pomocou metódy add:

<?php class Arr { private $numbers = []; public function __construct($numbers) { $this->numbers = $numbers; } public function add($number) { $this->numbers[] = $number; } public function getSum() { return array_sum($this->numbers); } } ?>

Tu je príklad použitia triedy Arr:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // vypíše 15 ?>

Môže nastať situácia, že všetky potrebné čísla odovzdáme v momente vytvorenia objektu a potom ihneď budeme chcieť nájsť ich súčet:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // vypíše 6 ?>

Ak neplánujeme vykonať žiadne ďalšie manipulácie s objektom, vyššie uvedený kód môžeme prepísať stručnejšie: môžeme vytvoriť objekt a ihneď volať jeho metódu getSum:

<?php echo (new Arr([1, 2, 3]))->getSum(); // vypíše 6 ?>

<?php class StringProcessor { private $str = ''; public function __construct($text) { $this->str = $text; } public function append($text) { $this->str .= $text; return $this; } public function getValue() { return $this->str; } public function getLength() { return strlen($this->str); } } ?>

Predpokladajme, že s touto triedou sa pracovalo nasledovným spôsobom:

<?php $str = new Str('aaa'); $str->append('bbb'); $str->append('ccc'); echo $str->getLength(); ?>

Prepíšte tento kód pomocou volania triedy na mieste.

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
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť