⊗ppOpCgCC 43 of 107 menu

Klic metode takoj po ustvarjanju objekta v OOP v PHP

Recimo, da imamo razred Arr, ki shranjuje polje števil in lahko izračuna vsoto teh števil z metodo getSum. Števine same pridejo v obliki polja v konstruktor objekta, lahko pa jih dodajamo tudi posamično z metodo 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); } } ?>

Tu je primer uporabe razreda Arr:

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

Lahko se zgodi, da vse potrebne številke posredujemo v trenutku ustvarjanja objekta in nato takoj želimo najti njihovo vsoto:

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

Če ne načrtujemo več nobenih manipulacij z objektom, lahko zgornjo kodo prepišemo na krajši način: lahko ustvarimo objekt in takoj pokličemo njegovo metodo getSum:

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

Recimo, da so z tem razredom delali na naslednji način:

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

Prepišite to kodo s klicem razreda na mestu.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni