АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
⊗ppOpBsMCAOC 16 of 107 menu
Долгожданный Бесплатный курс по выкладке сайта на хостинг. МЫ УЖЕ НАЧАЛИ! Присоединяйтесь к нам!

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

Пусть у нас дан класс 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 сразу после создания объекта.