⊗ppOpCgCC 43 of 107 menu

Metodes izsaukšūtūs pēc objekta izveides OOP PHP

Pieņemsim, ka mums ir klase Arr, kura glabā sevī skaitļu masīvu un var aprēķināt šo skaitļu summu, izmantojot metodi getSum. Pati skaitļi nonāk masīva veidā objekta konstruktorā, kā arī var tikt pievienoti pa vienam, izmantojot metodi 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); } } ?>

Šeit ir klases Arr izmantošanas piemērs:

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

Var gadīties, ka visus nepieciešamos skaitļus mēs padodam objektu izveides brīdī un tad uzreiz vēlamies atrast to summu:

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

Ja mēs vairāk neplānojam veikt nekādas manipulācijas ar objektu, tad augstāk minēto kodu var pārrakstīt īsāk: var izveidot objektu un uzreiz izsaukt tā metodi getSum:

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

Pieņemsim, ka ar šo klasi strādāja sekojoši:

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

Pārrakstiet šo kodu, izmantojot klases izsaukšūtūs uz vietas.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt