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

数値の配列を保持し、メソッド getSum を使ってそれらの数値の合計を計算できる クラス Arr があるとします。 数値自体は配列としてオブジェクトのコンストラクタに渡され、またメソッド add を使って 個別に追加することもできます:

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

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

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

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

php<?php
  echo (new Arr([1, 2, 3]))->getSum(); // 6 を出力します
?>
Задание 1
php<?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<?php
  $str = new Str('aaa');
  $str->append('bbb');
  $str->append('ccc');
  
  echo $str->getLength();
?>

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