⊗ppOpCgCC 43 of 107 menu

Objektum létrehozása után azonnali metódushívás OOP-ban PHP-ben

Tegyük fel, hogy van egy Arr osztályunk, amely számokat tárol egy tömbben és képes kiszámolni ezen számok összegét a getSum metódus segítségével. Maga a számok egy tömb formájában érkeznek az objektum konstruktorába, és egyenként is hozzáadhatók a add metódussal:

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

Itt egy példa a Arr osztály használatára:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // kiírja 15-öt ?>

Előfordulhat, hogy az összes szükséges számot az objektum létrehozásakor átadjuk, majd azonnal meg akarjuk találni azok összegét:

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

Ha nem tervezünk további manipulációkat az objektummal, akkor a fenti kód rövidebben is írható: létrehozhatjuk az objektumot és azonnal meghívhatjuk a getSum metódusát:

<?php echo (new Arr([1, 2, 3]))->getSum(); // kiírja 6-ot ?>

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

Tegyük fel, hogy ezzel az osztállyal a következő módon dolgoztak:

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

Írja át ezt a kódot az osztály helyben való meghívásával.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás