⊗ppOpCgCC 43 of 107 menu

Извикване на метод веднага след създаване на обект в ООП в PHP

Нека имаме клас Arr, който съхранява масив от числа и може да изчислява тяхната сума чрез метода getSum. Самите числа се подават под формата на масив в конструктора на обекта, а също могат да се добавят по едно чрез метода 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); } } ?>

Ето пример за използване на класа Arr:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // ще изведе 15 ?>

Може да се случи, че всички необходими числа ще подадем в момента на създаване на обекта, а след това веднага ще искаме да намерим тяхната сума:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // ще изведе 6 ?>

Ако не планираме да правим повече манипулации с обекта, тогава кодът по-горе може да се пренапише по-кратко: може да се създаде обект и веднага да се извика неговия метод getSum:

<?php echo (new Arr([1, 2, 3]))->getSum(); // ще изведе 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); } } ?>

Нека с този клас са работили по следния начин:

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

Пренапишете този код чрез извикване на класа на място.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне