⊗ppOpCgCC 43 of 107 menu

Kald af metode umiddelbart efter oprettelse af objekt i OOP i PHP

Lad os sige, at vi har klassen Arr, som gemmer et array af tal og kan beregne summen af disse tal ved hjælp af metoden getSum. Tallene selv kommer som et array til konstruktøren af objektet og kan også tilføjes enkeltvis ved hjælp af metoden 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); } } ?>

Her er et eksempel på brug af klassen Arr:

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

Det kan ske, at alle de nødvendige tal bliver sendt på tidspunktet for oprettelsen af objektet, og derefter straks ønsker at finde deres sum:

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

Hvis vi ikke planlægger at foretage yderligere manipulationer med objektet, kan koden ovenfor omskrives mere kort: man kan oprette objektet og straks kalde dets metode getSum:

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

Lad os sige, at der er arbejdet med denne klasse på følgende måde:

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

Omskriv denne kode ved at kalde klassen på stedet.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis