⊗ppOpCgCC 43 of 107 menu

PHP-də OOP-də obyekt yaradıldıqdan dərhal sonra metodun çağırılması

Tutaq ki, bizə Arr sinifi verilib, hansı ki, özündə ədədlər massivini saxlayır və getSum metodu vasitəsilə bu ədədlərin cəmini hesablaya bilir. Ədədlərin özləri massiv şəklində obyektin konstruktoruna ötürülür və həmçinin add metodu ilə bir-bir əlavə oluna bilər:

<?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 sinifindən istifadə nümunəsi:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // çap edəcək 15 ?>

Ola bilər ki, bütün lazımi ədədləri biz obyekt yaradılma anında ötürək, sonra isə dərhal onların cəmini tapmaq istəyək:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // çap edəcək 6 ?>

Əgər biz artıq obyektlə heç bir manipulyasiya etməyi planlaşdırmırıqsa, yuxarıdakı kodu daha qısa şəkildə yazmaq olar: obyekt yaradıb dərhal onun getSum metodunu çağırmaq olar:

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

Tutaq ki, bu siniflə aşağıdakı kimi işlənilib:

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

Bu kodu sinifi yerindəcə çağırmaq vasitəsilə yenidən yazın.

azbydeenesfrkakkptruuz