⊗ppOpCgCC 43 of 107 menu

Metodin kutsuminen heti olion luomisen jälkeen OOP:ssa PHP:ssä

Olkoon meillä luokka Arr, joka säilöö numerotaulukon ja pystyy laskemaan numeroiden summan metodilla getSum. Itse numerot saapuvat taulukkona olion konstruktorille, ja niitä voidaan lisätä yksitellen metodilla 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); } } ?>

Tässä on esimerkki luokan Arr käytöstä:

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

Voi olla tilanne, että kaikki tarvittavat numerot välitetään olion luomisvaiheessa, ja sitten halutaan heti löytää niiden summa:

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

Jos emme aio tehdä enää mitään manipulaatioita oliolla, yllä oleva koodi voidaan kirjoittaa lyhyemmin: voidaan luoda olio ja kutsua heti sen metodia getSum:

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

Oletetaan, että tämän luokan kanssa on työskennelty seuraavalla tavalla:

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

Kirjoita tämä koodi uudelleen käyttäen luokan kutsua paikan päällä.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää