⊗ppOpCgCC 43 of 107 menu

Methode-aanroep direct na het maken van een object in OOP in PHP

Stel dat we een klasse Arr hebben die een array van getallen opslaat en de som van deze getallen kan berekenen met de methode getSum. De getallen zelf worden als array doorgegeven aan de constructor van het object, en kunnen ook een voor een worden toegevoegd met de methode 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); } } ?>

Hier is een voorbeeld van het gebruik van de klasse Arr:

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

Het kan zijn dat we alle benodigde getallen doorgeven op het moment van aanmaken van het object, en dan direct hun som willen vinden:

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

Als we niet van plan zijn verdere manipulaties met het object uit te voeren, dan kan de code hierboven korter worden geschreven: we kunnen een object maken en direct zijn methode getSum aanroepen:

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

Stel dat er als volgt met deze klasse gewerkt is:

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

Herschrijf deze code door de klasse direct op de plek aan te roepen.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren