# Вызов метода сразу после создания объекта

Пусть у нас дан класс `Arr`, который хранит в себе массив чисел и может вычислять сумму этих чисел с помощью метода `getSum`. Сами числа приходят в виде массива в конструктор объекта, а также могут добавляться по одному с помощью метода `add`:

`<?php class Arr { private $numbers = []; // массив чисел public function __construct($numbers) { $this->numbers = $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]); // создаем объект, записываем в него массив [1, 2, 3] $arr->add(4); // добавляем в конец массива число 4 $arr->add(5); // добавляем в конец массива число 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 echo (new Arr([1, 2, 3]))->getSum() + (new Arr([4, 5, 6]))->getSum(); ?>`

Не подсматривая в мой код реализуйте такой же класс `Arr` и вызовите его метод `getSum` сразу после создания объекта.

←→
↑