⊗ppOpCgCC 43 of 107 menu

Pozivanje metode odmah nakon kreiranja objekta u OOP-u u PHP-u

Neka imamo klasu Arr koja u sebi čuva niz brojeva i može da izračuna zbir tih brojeva pomoću metode getSum. Samim brojevi stižu u vidu niza u konstruktor objekta, a takođe mogu da se dodaju pojedinačno pomoću metode 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); } } ?>

Evo primera korišćenja klase Arr:

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

Može se desiti da sve potrebne brojeve prosledimo u momentu kreiranja objekta, a zatim odmah želimo da nađemo njihov zbir:

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

Ako ne planiramo da radimo nikakve dalje manipulacije nad objektom, onda gornji kod možemo prepisati kraće: možemo kreirati objekat i odmah pozvati njegovu metodu getSum:

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

Neka se sa ovom klasom radilo na sledeći način:

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

Prepišite ovaj kod kroz pozivanje klase na mestu.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij