⊗ppOpCgCC 43 of 107 menu

PHPのOOPにおけるオブジェクト作成直後のメソッド呼び出し

数値の配列を保持し、メソッド getSum を使ってそれらの数値の合計を計算できる クラス Arr があるとします。 数値自体は配列としてオブジェクトのコンストラクタに渡され、またメソッド 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); } } ?>

以下はクラス Arr の使用例です:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // 15 を出力します ?>

すべての必要な数値をオブジェクト作成時に渡し、 その後すぐにそれらの合計を求めたい場合があるかもしれません:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // 6 を出力します ?>

もしオブジェクトに対してこれ以上何も操作を行わないのであれば、 上記のコードはより短く書き換えることができます: オブジェクトを作成してすぐにそのメソッド getSum を呼び出すことができます:

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

このクラスを次のように使用したとします:

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

このコードを、その場でのクラス呼び出しを使って書き直してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否