⊗ppOpCgCC 43 of 107 menu

Apelarea metodei imediat după crearea obiectului în OOP în PHP

Să presupunem că avem clasa Arr, care stochează un tablou de numere și poate calcula suma acestor numere folosind metoda getSum. Numerele în sine sunt transmise ca tablou în constructorul obiectului și pot fi adăugate unul câte unul folosind metoda 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); } } ?>

Iată un exemplu de utilizare a clasei Arr:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // va afișa 15 ?>

Se poate întâmpla ca toate numerele necesare să le transmitem în momentul creării obiectului, iar apoi să dorim imediat să le găsim suma:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // va afișa 6 ?>

Dacă nu mai planificăm să facem nicio manipulare cu obiectul, atunci codul de mai sus poate fi rescris mai scurt: putem crea obiectul și imediat să apelăm metoda sa getSum:

<?php echo (new Arr([1, 2, 3]))->getSum(); // va afișa 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); } } ?>

Să presupunem că s-a lucrat cu această clasă în felul următor:

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

Rescrieți acest cod prin apelarea clasei pe loc.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge