⊗ppOpCgCC 43 of 107 menu

Wywołanie metody bezpośrednio po utworzeniu obiektu w OOP w PHP

Załóżmy, że mamy klasę Arr, która przechowuje tablicę liczb i może obliczać ich sumę za pomocą metody getSum. Same liczby są przekazywane w postaci tablicy do konstruktora obiektu, a także mogą być dodawane pojedynczo za pomocą metody 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); } } ?>

Oto przykład użycia klasy Arr:

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

Może się zdarzyć, że wszystkie potrzebne liczby przekażemy w momencie tworzenia obiektu, a następnie od razu będziemy chcieli znaleźć ich sumę:

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

Jeśli nie planujemy już wykonywać żadnych manipulacji na obiekcie, powyższy kod można przepisać krócej: można utworzyć obiekt i od razu wywołać jego metodę getSum:

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

Załóżmy, że z tą klasą pracowano następująco:

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

Przepisz ten kod, używając wywołania klasy w miejscu.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć