⊗ppOpCgCC 43 of 107 menu

Aufruf einer Methode direkt nach der Objekterstellung in OOP in PHP

Nehmen wir an, wir haben eine Klasse Arr, die ein Array von Zahlen speichert und die Summe dieser Zahlen mit der Methode getSum berechnen kann. Die Zahlen selbst werden als Array an den Konstruktor des Objekts übergeben und können auch einzeln mit der Methode add hinzugefügt werden:

<?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 ist ein Beispiel für die Verwendung der Klasse Arr:

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

Es kann vorkommen, dass wir alle benötigten Zahlen zum Zeitpunkt der Objekterstellung übergeben und dann sofort deren Summe berechnen wollen:

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

Wenn wir nicht vorhaben, weitere Manipulationen mit dem Objekt durchzuführen, kann der obige Code kürzer geschrieben werden: wir können ein Objekt erstellen und sofort seine Methode getSum aufrufen:

<?php echo (new Arr([1, 2, 3]))->getSum(); // gibt 6 aus ?>

<?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); } } ?>

Nehmen wir an, mit dieser Klasse wurde folgendermaßen gearbeitet:

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

Schreiben Sie diesen Code um, indem Sie die Klasse direkt an Ort und Stelle aufrufen.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen