⊗ppOpCgCC 43 of 107 menu

Å kalle en metode umiddelbart etter opprettelse av et objekt i OOP i PHP

La oss si at vi har en klasse Arr som lagrer en rekke tall og kan beregne summen av disse tallene ved hjelp av metoden getSum. Tallene selv kommer i form av en array til konstruktøren til objektet, og kan også legges til enkeltvis ved hjelp av 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å bruk av klassen Arr:

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

Det kan hende at alle de nødvendige tallene overføres på tidspunktet for opprettelse av objektet, og deretter umiddelbart ønsker vi å finne summen deres:

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

Hvis vi ikke planlegger å gjøre noen flere manipulasjoner med objektet, kan koden ovenfor omskrives kortere: vi kan opprette objektet og umiddelbart kalle dets metode getSum:

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

La oss si at denne klassen ble brukt på følgende måte:

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

Omskriv denne koden ved å kalle klassen på stedet.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis