⊗ppOpCgCC 43 of 107 menu

Volání metody ihned po vytvoření objektu v OOP v PHP

Předpokládejme, že máme třídu Arr, která ukládá pole čísel a umí vypočítat jejich součet pomocí metody getSum. Samotná čísla přicházejí ve formě pole do konstruktoru objektu a také mohou být přidávána po jednom pomocí metody 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); } } ?>

Zde je příklad použití třídy Arr:

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

Může nastat situace, že všechna potřebná čísla předáme v momentě vytvoření objektu a poté ihned chceme najít jejich součet:

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

Pokud neplánujeme provádět žádné další manipulace s objektem, lze výše uvedený kód přepsat stručněji: lze vytvořit objekt a ihned zavolat jeho metodu 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); } } ?>

Předpokládejme, že s touto třídou bylo pracováno následujícím způsobem:

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

Přepište tento kód pomocí volání třídy na místě.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout